如果在表视图中点击过快,则为AudioStreamer的多个实例



我的AudioStreamer有问题,这让我抓狂。我有一个包含来自远程服务器的歌曲的表视图。当我点击一首歌时,它可以很好地播放,但如果我点击得太快,我会看到AudioStreamer的多个实例在播放不同的歌曲。

我听说将AudioStreamer作为一个单例可以解决这个问题,但我尝试过,但它经常崩溃。有人面对过这个问题并找到了解决方案吗?

谢谢。

更新:

这个问题的解决方案是从-(void)stop方法中删除这一行。还将任何表示状态的内容更改为自我状态

if(state==AS_WAITING_FOR_DATA | | state==AS _STARTING_FILE_THREAD)
回来

这个问题的解决方案是从-(void)stop方法中删除此行。还可以将任何表示state的内容更改为self-state

if(state==AS_WAITING_FOR_DATA | | state==AS _STARTING_FILE_THREAD)回来

我在另一篇文章中创建了解决方案。但以防万一,我做错了什么。

stackoverflow的另一篇帖子指向了以下链接。我之前遵循了该链接中的解决方案,但并非完全遵循。我错过了代码下面最重要的部分。

https://github.com/mattgallagher/AudioStreamer/issues/26

"需要变量pausedByInterruption,因为我们只想在音频因中断而暂停的中断后恢复播放。因此,需要在以下方法中将ivar pausedByByInterrupt设置为NO:暂停启动停止initWithUrl。"

让我重复一遍,确保您完成这一部分"ivar pausedByInterruption需要在以下方法中设置为NO:暂停启动停止initWithUrl。"

这样做之后,我的问题得到了解决。

相关内容

  • 没有找到相关文章

最新更新