Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVAudioPlayer播放的歌曲序列循环播放相同的歌曲,但没有声音_Ios_Asynchronous_Avaudioplayer - Fatal编程技术网

Ios AVAudioPlayer播放的歌曲序列循环播放相同的歌曲,但没有声音

Ios AVAudioPlayer播放的歌曲序列循环播放相同的歌曲,但没有声音,ios,asynchronous,avaudioplayer,Ios,Asynchronous,Avaudioplayer,我已经尝试了24小时来解决这个问题。 我有一个简单的音乐播放器,可以加载一些歌曲,然后播放一首又一首歌曲 问题是,随机地,didFinishPlayingAudio不会在歌曲的结尾被调用。相反,同一首歌将循环回到开始,没有声音输出,这使得我的音乐播放器有严重缺陷 最近我意识到AVAudioPlayer的播放功能是异步的,我怀疑这就是问题所在。 我检查了我的代码,并检查了播放器在发布之前是否已停止,以及新的播放器是否正确保留。一切正常,除了偶尔出现的严重错误。当我在进度条上拖动时,音乐将再次播放,

我已经尝试了24小时来解决这个问题。 我有一个简单的音乐播放器,可以加载一些歌曲,然后播放一首又一首歌曲

问题是,随机地,didFinishPlayingAudio不会在歌曲的结尾被调用。相反,同一首歌将循环回到开始,没有声音输出,这使得我的音乐播放器有严重缺陷

最近我意识到AVAudioPlayer的播放功能是异步的,我怀疑这就是问题所在。 我检查了我的代码,并检查了播放器在发布之前是否已停止,以及新的播放器是否正确保留。一切正常,除了偶尔出现的严重错误。当我在进度条上拖动时,音乐将再次播放,从周围的阅读中,我认为这与正确的音频播放器重新将自身关联为主要播放器有关

我试图使用ObjectAL来解决这个问题,但问题是状态栏播放图标不会消失,除非我禁用接收遥控事件,这对于音乐播放器来说是不可接受的。然而,如果有一个好办法关闭播放图标,这也将是一个解决我的讨厌的错误


如果你读到这里,非常感谢!!希望对此有一些想法,谢谢

解决方案:原来我无意中反复调用了
AVAudioPlayer
playing
方法。尽管已经读过苹果明确警告不要这样做,但当时的代码结构实际上是偷偷地轮询这个方法,我不知道