我有多个AVPlayers
,每个单独UIViewControllers
播放不同的歌曲。每当我播放另一个时,我都
需要暂停一个(否则音频会重叠)。
我想让用户在后台播放音乐时遍历应用程序,因此暂停on是行不通的。
访问每个单独控件的最佳方法是什么?AVPlayer
AVPlayer
viewDidDisappear:(BOOL)animated
AVPlayer
问问题
368 次
2 回答
1
在我看来,只有 1 个 AVPlayer 的单例很好地解决了这个问题。这样,您就可以保证播放另一首歌曲必须停止前一首歌曲。然后,在那个 AVPLayerSingleton 中,你有一个名为 avPlayer 的私有属性。您可以定义两种方法:
- (void)createPlayerWithSong:(NSString *)currentSong;
- (void)destroyPlayer
然后,在您的 createPlayerWithSong 中,您可以检查 avPlayer 是否已创建并销毁它并为每首新歌曲创建一个新的。
于 2013-11-05T18:19:38.207 回答
0
有几种方法可以做到:
创建一个共享单例对象,该对象具有引用每个 AVPlayer 的弱属性。这样你就可以从任何地方控制它。
或者
当您想在不同的视图控制器上控制 AVPlayer 时,使用 NSNotificationCenter 发送通知。如果你有很多想要控制的 AVPlayer,这可能会变得很麻烦。
于 2013-11-05T17:56:39.020 回答