如果在tableview中点击太快,AudioStreamer的多个实例

时间:2012-02-01 03:05:57

标签: audiostreamer

我遇到的AudioStreamer问题令我发疯。我有来自远程服务器的歌曲的tableview。当我点击一首歌时它流畅,但是如果我点击太快,我会得到多个AudioStreamer实例播放不同的歌曲。

我听说让AudioStreamer成为单身人士会解决这个问题,但是我试过了,它经常崩溃。是否有人遇到过这个问题并建立了解决方案?

感谢。

更新:

此问题的解决方案是从 - (void)stop方法中删除此行。同时将状态的任何内容更改为 self.state

if(state == AS_WAITING_FOR_DATA || state == AS_STARTING_FILE_THREAD)
返回;

2 个答案:

答案 0 :(得分:3)

此问题的解决方案是从 - (void)stop方法中删除此行。还要将状态改为self.state

if(state == AS_WAITING_FOR_DATA || state == AS_STARTING_FILE_THREAD) 返回;

答案 1 :(得分:0)

我在另一篇文章中创建了解决方案。但为了以防万一,这就是我做错了。

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

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

“变量pausedByInterruption是必需的,因为如果音频被中断暂停,我们只想在中断后继续播放。因此,需要在以下方法中将ivar pausedByInterruption设置为NO:暂停开始停止 initWithUrl 。“

让我重复一遍,确保你做这个部分“ivar pausedByInterruption需要在以下方法中设置为NO:暂停开始停止 initWithUrl 。“

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