我想我可以使用AVAudioPlayer来播放声音,但是,我需要的是只播放一个简短的声音,我不需要任何循环或对音量的细粒度控制等
有没有一个简单的方法可以做到这一点
其他每个答案都会泄漏内存(除非为一个答案启用了ARC)。。。奇怪的是,最初标记为正确的答案在没有明显原因的情况下调用了retainCount
如果您alloc/initsomething,则需要释放它(除非您使用的是ARC)
如果调用AudioServicesCreateSystemSoundID(),则必须处理生成的声音
请参见音频UI声音示例
基本上:
@interface MyClass:UI*ViewController//已修复
{
SystemSoundID mySound;
}
@MyClass的实现
-(无效)viewDidLoad{
[超级视图下载];
AudioServicesCreateSystemSoundID(..URL..和mySound);
}
-(无效)立即播放我的声音像闪电真的吗{
AudioServicesPlaySystemSound(mySound);
}
-(无效)解除锁定{
AudioServicesDisposeSystemSoundID(mySound);
[super dealloc];//仅在手动保留/释放中,为ARC删除
}
@结束
完整性:
添加AudioToolbox.framework
#导入<;AudioToolbox/AudioToolbox.h>