这就是我的想法。一个TableViewController
。当我点击其中一个单元格时,会显示另一个viewcontroller
,其中包含AVAudioPlayer
的实例,并有一个搜索栏和停止和暂停按钮。然后,当我关闭播放器视图控制器时,音乐播放并且不会停止(我已成功完成整个事情,直到这里)。现在我想创建一个“正在播放”按钮。当我点击它时,它会带我回到音频播放器ViewController,我可以看到歌曲的进度。关于如何做到这一点的任何想法?我的问题是我不知道如何存储在后台播放的歌曲的信息,并不断更新这些信息。
答案 0 :(得分:2)
您可以通过使用类方法创建单例类来实现此目的,该方法将返回其AVAudioPlayer类的实例。所有AVAudioPlayer操作都应该在这个单例类上进行管理。通过这种方式,您可以使用单个对象实现AVAudioPlayer,该对象可在所有视图控制器类中以其当前状态访问。方法将被称为:
[[MyAVAudioPlayer getInstance] getStatus];
[[MyAVAudioPlayer getInstance] play];
类结构可以是:
@interface MyAVAudioPlayer : AVAudioPlayer{
}
+(MyAVAudioPlayer *)getInstance;
-(void)playWithURL:(NSURL *)url;
-(void)play;
-(float)status;
@end
答案 1 :(得分:1)
使用AVAudioPlayer
创建单例类。在这里查看question
答案 2 :(得分:0)
您正在寻找NSNotification
您可以向属性添加观察者,以便在此属性更改时检查并更新您的单元格。