0

AudioStreamer に問題があり、気が狂いそうになります。リモートサーバーからの曲を含むテーブルビューがあります。曲をクリックすると正常にストリーミングされますが、タップが速すぎると、異なる曲を再生する AudioStreamer のインスタンスが複数取得されます。

AudioStreamer をシングルトンにするとこの問題が解決すると聞きましたが、それを試したところ頻繁にクラッシュしました。この問題に直面して解決策を見つけた人はいますか?

ありがとう。

更新しました:

この問題の解決策は、-(void)stop メソッドからこの行を削除することでした。また、状態を示すものはすべて self.stateに変更します

if (state == AS_WAITING_FOR_DATA || state == AS_STARTING_FILE_THREAD)
return;

4

2 に答える 2

3

この問題の解決策は、-(void)stop メソッドからこの行を削除することでした。また、状態を示すものはすべて self.state に変更します

if (state == AS_WAITING_FOR_DATA || state == AS_STARTING_FILE_THREAD) return;

于 2012-02-11T17:13:59.943 に答える
0

別の投稿で解決策を見つけました。しかし、念のため、ここで私が間違っていたことを示します。

ここstackoverflowの別の投稿は、次のリンクを指していました。私は前にそのリンクの解決策に従っていますが、完全ではありません。コードの下にある最も重要な部分を見逃していました。

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

「オーディオが中断によって一時停止された場合にのみ、中断後に再生を再開したいので、変数 pausedByInterruption が必要です。そのため、次のメソッドで ivar pausedByInterruption を NO に設定する必要があります: pausestartstop、およびinitWithUrl。」

繰り返しますが、「次のメソッドで ivar pausedByInterruption を NO に設定する必要があります: pausestartstop、およびinitWithUrl 」という部分を必ず実行してください。

これを行った後、私の問題は解決しました。

于 2012-02-01T15:20:28.417 に答える