4

ユーザーがいくつかのアニメーションの再生などを見た後、20秒の遅延で再生を開始したいオーディオファイルがあります...

私がこれを行う方法を知っている人はいますか?5 つのアニメーションを再生した後、オーディオ ファイルを開始したいと考えています。ユーザーがアプリを終了するまで、すべてが循環し続けます。

オーディオファイルを再生するコードは次のとおりです。ボタンが押された場合、またはviewDidLoadで再生できるようになりました。これは正常に機能します。

NSString *audioSoundPath = [[ NSBundle mainBundle] pathForResource:@"audio_file" ofType:@"caf"];
CFURLRef audioURL = (CFURLRef) [NSURL fileURLWithPath:audioSoundPath];
AudioServicesCreateSystemSoundID(audioURL, &audioID); 

AudioServicesPlaySystemSound(audioID);

助けてくれてありがとう

4

2 に答える 2

3

常に正確に20秒になることがわかっている場合は、NSTimerを使用して、オーディオを開始するメソッドを呼び出すことができます。

[NSTimer scheduledTimerWithTimeInterval:20 target:self selector:@selector(startPlaying) userInfo:nil repeats:NO];


-(void)startPlaying {

    NSString *audioSoundPath = [[ NSBundle mainBundle] pathForResource:@"audio_file" ofType:@"caf"];
    CFURLRef audioURL = (CFURLRef) [NSURL fileURLWithPath:audioSoundPath];
    AudioServicesCreateSystemSoundID(audioURL, &audioID);
    AudioServicesPlaySystemSound(audioID);
}
于 2010-10-08T14:48:17.173 に答える
2

使用することもできます

[self performSelector: @selector(playSound:) withObject: audioURL afterDelay: 20.0f];

于 2010-10-08T14:50:59.493 に答える