我有一个带有导航树的应用程序。某处有一个带 mp3 的音频播放器。
UITabViewController // controlled by AppDelegate.m
-> UINavigationController
-> UITableViewController // controlled by TableViewController.m
-> UIViewController // with my AVAudioPlayer controlled by AudioViewController.m
在AudioViewController.m
我有我所有的音频引擎,所以我播放/暂停/停止它,甚至在按下后退按钮时杀死它(使用 viewWillDisappear 等) - 它只在这个视图中播放,而不是在另一个视图中,这很好。
但是,当我在播放打开时按主页按钮时会出现问题。它停止了,但回到我的应用程序后,它会从记住的时间戳再次播放。
我尝试了所有这些:
- (void)viewDidUnload
{
[super viewDidUnload];
[self audioStop:self];
}
- (void)viewWillDisappear:(BOOL)animated
{
[self audioStop:self];
[super viewWillDisappear:animated];
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self audioStop:self];
}
- (void)viewWillUnload
{
[self audioStop:self];
[super viewWillUnload];
}
- (void)awakeFromNib
{
[super awakeFromNib];
[self audioStop:self];
}
但什么也没有发生。
现在我知道要管理是否按下主页按钮,我需要使用applicationWillResignActive
AppDelegate 的方法,但我完全不知道如何从这里停止我的音频播放器。我对iOS很陌生,我不熟悉如何delegates
工作,所以请帮我解决这个问题。