1

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);
4

1 に答える 1

1

サウンドは非同期で再生されます。独自のスレッドで実行する必要はありません。

于 2013-02-12T11:38:40.540 に答える