0

5 つの AVAudioPlayer オブジェクトによって操作される 5 つのオーディオ チャンネルがあり、ボタンを押すと次のようになるように、これらの各チャンネルに非常に小さな遅延を追加したいと考えています。

  • 開始音 1 (10 秒間持続)
  • サウンド 1 の 0.25 秒後にサウンド 2 を開始
  • 音 2 の 0.25 秒後に音 3 を開始
  • サウンド 4 の開始 サウンド 3 の 0.25 秒後
  • サウンド 5 の開始 サウンド 3 の 0.25 秒後

次のように [AVAudioPlayerObeject play] を呼び出すたびに sleep(0.25) を使用するだけでこれを行うのに疲れました。

[audioPlayer1 play];
sleep(delay);
[audioPlayer2 play];
sleep(delay);
[audioPlayer3 play];
sleep(delay);
[audioPlayer4 play];
sleep(delay);
[audioPlayer5 play];

...ここで、delay は 0.25 に設定された float 変数です。しかし、これは機能せず、一度に 5 つの音すべてが聞こえます。NSTimer を試してみましたが、遅延用に別のメソッドを作成し、そのメソッドを自分のコードで呼び出す方法がよくわかりませんでした。

希望の効果が得られるようにコードを修正するのを手伝ってもらえますか? ありがとう!

4

1 に答える 1