在其当前线程上访问AVAudioPlayer

时间:2014-04-18 07:17:46

标签: ios objective-c multithreading avaudioplayer

我使用AVAudioPlayer与主线程并发使用dispatch_async系列isPlaying。在播放每个之前我必须查询是否正在使用其multithreading方法播放。

我通常不熟悉isPlaying,那么如何在AVAudioPlayer当前正在处理的主题上调用{{1}}方法呢?

1 个答案:

答案 0 :(得分:0)

您可以直接在主线程上访问属性playing因为操作已被读取,所以我认为这是安全的:)

但您无法使用它来判断回放是否已按文档说明完成:重要提示:请勿轮询此属性以确定回放何时完成,而是实施指定的委托方法 < / p>

你应该使用委托并实现方法- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag,如果调用该方法,则意味着玩家停止。