AudioServicesCreateSystemSoundID を使用してサウンドを再生していますが、スレッド ブロックで実行する必要があるのか、それとも独自のスレッドで実行する必要があるのか わからない場合を除いて、正常に動作します。
メインスレッドで実行すると、アプリケーションが応答しなくなる可能性があるのではないかと心配しています。
NSURL *tapSound = [[NSBundle mainBundle] URLForResource: @"mysound"
withExtension: @"aiff"];
// Store the URL as a CFURLRef instance
// soundFileURLRef = (__bridge CFURLRef) tapSound ;
// Create a system sound object representing the sound file.
SystemSoundID soundFileObject;
AudioServicesCreateSystemSoundID (
(__bridge_retained CFURLRef) tapSound,
&soundFileObject
);
// AudioServicesPlayAlertSound (soundFileObject);
AudioServicesPlaySystemSound (soundFileObject);