2011-07-06 8 views
0

私は指を画面上にドラッグしていると言います。バンドルには1秒の.cafサウンドファイルがあります。iPhoneのバックグラウンドサウンドをループして使用する最も良い方法は?

私の指をドラッグするまで、私のサウンドファイルをループで再生するにはどうすればいいですか?タッチを外すと止まるはずです。

私は実装を知っています。サウンドファイルの使用についての意見を投稿するだけです。

答えて

1

AVAudioPlayerクラスを参照してください。これは、あなたの質問に記述されている同様の動作のために私にとってはうまく機能しました。

+0

だから、最善の方法はAVAudioPlayer *プレーヤーのオブジェクトを最初に作成することです。そして、私は[プレイヤーのプレイ]と[プレイヤーのポーズ]を毎回呼び出さなければなりませんか? – Tariq

+0

いいえ、 '@property NSInteger numberOfLoops'プロパティを「任意の負の値」に設定して、' stop'メソッドを呼び出すまで無期限に音をループさせることができます。 – petert

+0

私は無限ループを作成するという概念を知っています。しかし、私はタッチで音が必要です.Move ...そしてすぐに触れるEndedは止まるべきです。だから、touchesMovedまで私は無限のループを作成しなければならないと私は停止または一時停止を呼び出す必要がありますか? touchesMovedが呼び出されたときに再度再起動する必要があるからです。 – Tariq

0

これが私のやり方です。現時点では、より効率的な方法はわかりませんが、ここで背景音をループさせる方法があります。お役に立てれば。

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/yourAudio.caf", [[NSBundle mainBundle] resourcePath]]]; 

audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL]; 
audioPlayer.numberOfLoops = -1; 
[audioPlayer play]; 
関連する問題