我正在创建一个应用程序,在我的应用程序中我正在更改倒计时的图像。我希望在一秒钟完成后播放一个Tick声音(我的意思是当图像改变时)。我有一个25秒长的声音,重复的嘀嗒声和在1秒的时间间隔内。有时它工作正常,但有时它不是。现在我如何与我的计时器同步音频。非常感谢,谢谢。
答案 0 :(得分:0)
记录有25个刻度?)为什么不使用带有一个刻度的记录?如果响度不是您的目的,您可以使用AudioServicesCreateSystemSoundID
播放,然后每秒拨打AudioServicesPlaySystemSound
。
答案 1 :(得分:0)
我建议将AudioServicesCreateSystemSoundID与一个只有一个刻度的声音文件一起使用,大约是1/16或更短的长度,并在你的init中使用它:
clickSound = [[self createSoundWithName:@"click"] intValue];
以下是设置声音的代码:
- (NSNumber*) createSoundWithName: (NSString*) name {
SystemSoundID soundID = -1;
NSString *path =[[NSBundle mainBundle] pathForResource:name ofType:@"caf"];
if (path != nil) {
NSURL *url = [NSURL fileURLWithPath:path];
if (url != nil) {
OSStatus err = AudioServicesCreateSystemSoundID ((CFURLRef) url, &soundID);
if (err) NSLog (@"AudioServicesCreateSystemSoundID error %d", err);
}
}
return [NSNumber numberWithInt:soundID];
}
这是您点击的位置:
- (void) playClick {
AudioServicesPlaySystemSound (clickSound);
}