0

我有多个AVPlayers,每个单独UIViewControllers播放不同的歌曲。每当我播放另一个时,我都
需要暂停一个(否则音频会重叠)。 我想让用户在后台播放音乐时遍历应用程序,因此暂停on是行不通的。 访问每个单独控件的最佳方法是什么?AVPlayer
AVPlayerviewDidDisappear:(BOOL)animated
AVPlayer

4

2 回答 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 回答