我有一个音频文件,我希望在用户看到一些动画播放等后,以20秒的延迟开始播放...
有谁知道我会怎么做呢?我有5个动画播放,之后我想要音频文件开始。整个过程会一直循环,直到用户退出应用程序。
这是我播放音频文件的代码。如果按下按钮或在viewDidLoad上,我可以播放它,它可以正常工作。
NSString *audioSoundPath = [[ NSBundle mainBundle] pathForResource:@"audio_file" ofType:@"caf"];
CFURLRef audioURL = (CFURLRef) [NSURL fileURLWithPath:audioSoundPath];
AudioServicesCreateSystemSoundID(audioURL, &audioID);
AudioServicesPlaySystemSound(audioID);
感谢您的帮助
答案 0 :(得分: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);
}
答案 1 :(得分:2)
您也可以使用
[self performSelector: @selector(playSound:) withObject: audioURL afterDelay: 20.0f];