【发布时间】:2010-02-22 07:04:46
【问题描述】:
我是这个非常令人困惑的 Objective-C 游戏的初学者。
我想在每次按下某个按钮时播放一个很短的音效。
我该怎么做?
我可以使用 mp3 文件吗?还是我必须转换成 wav?
【问题讨论】:
标签: iphone objective-c audio
我是这个非常令人困惑的 Objective-C 游戏的初学者。
我想在每次按下某个按钮时播放一个很短的音效。
我该怎么做?
我可以使用 mp3 文件吗?还是我必须转换成 wav?
【问题讨论】:
标签: iphone objective-c audio
您可以使用System Sound Services 播放短音:
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef = CFBundleCopyResourceURL(mainBundle, CFSTR("filename"), CFSTR("aiff"), NULL);
SystemSoundID soundId;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundId);
AudioServicesPlaySystemSound(soundId);
CFRelease(soundFileURLRef)
支持.caf、.aiff 和.wav 格式。
【讨论】:
没有足够的声誉来评论 @dstnbrkr 的解决方案,所以我会将其作为答案发布。
在上面的例子中,CFURLRef soundFileURLRef 没有被释放。
在最后一行 (AudioServicesPlaySystemSound(soundId);) 之后调用 CFRelease(soundFileURLRef) 以释放 Core Foundation 对象。
【讨论】: