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 回答