5

c4 を使用して、サンプルの特定のセクションをループできるようにしたいと考えています。また、現在のループが終了するのを待たずにループ間をスキップしたいと思います。たとえば、最後の小節がループしていて、途中で最初の小節にスキップしたい場合、最後の小節が終了するのを待たずにそうします。

「currentTime」と「touchesBegan」を使用してセットアップしようとしましたが、思い通りに動作させることができません。私はそれについてスタックオーバーフローを読んでいましたが、NSTimerになっているようです? またはある種のコールバックか何か?これどうやってするの?

これが私が持っているものです:

@implementation C4WorkSpace {
        C4Sample *audioSample;
    }

    -(void)setup {
        audioSample = [C4Sample sampleNamed:@"C4Loop.aif"];
        [audioSample play];
    }

    -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
        audioSample.currentTime = 1.0f;
       //NSTimer? wait some time and then ?
       //callback? I don't know how to do that, but is that what I would do here?
    }
@end
4

1 に答える 1

1

C4Sample クラスには、現在ループする機能がありません。これを行いたい場合は、ループメカニズムを自分で構築する必要があります。NSTimer の使用に関する最初の質問に加えて、非常に簡単です。

あなたは出来る:

  1. ループ開始時間を設定する
  2. ループ継続時間を設定する
  3. ループをトリガーして再生を開始し、タイマーを開始します

...次に、タイマーは、メソッドでaudioSample.currentTime = loopStartTimer;これを行う方法と同様に設定するメソッドをトリガーしますtouchesBegan:

于 2012-05-05T01:02:51.833 に答える