正确释放SystemSoundID

时间:2014-10-22 03:41:51

标签: objective-c ios8 automatic-ref-counting dealloc audiotoolbox

我使用AudioToolboxSystemSoundID来加载和播放声音。

这是我的viewDidLoad方法中的代码:

NSString *swipeFilePath = [[NSBundle mainBundle] pathForResource:@"swipe" ofType:@"caf"];
NSURL *swipeFileURL = [NSURL fileURLWithPath:swipeFilePath];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)swipeFileURL, &swipe);

每次我需要它时,我都会执行以下操作:

AudioServicesPlaySystemSound(swipe);

我知道我必须自己发布它,因为它不是一个对象,但我不确定我是否正确地做到了。

我做的是以下内容,除了它产生错误:

- (void)dealloc {
AudioServiceDisposeSystemSoundID(swipe);
}

警告:隐含声明功能' AudioServiceDisposeSystemSoundID'在C99中无效

发布声音的恰当方式是什么?

1 个答案:

答案 0 :(得分:1)

功能名称是:

AudioServicesDisposeSystemSoundID
            ^

服务后有一个's'