0

アプリケーションで 2 つの .wav ファイルを再生しようとしていますが、最初の wav ファイルしか再生できず、2 番目のファイルはまったく再生されません。

AudioToolbox フレームワークを追加しました。私の .h ファイルには Audiotoolbox.h ファイルが含まれており、次の宣言があります

//Beep Sound
SystemSoundID   soundFileObject;
SystemSoundID   recycleFileObject;

私の.mファイルでは、次のように両方のwavファイルを登録しています

CFURLRef soundFileURLRef = CFBundleCopyResourceURL (CFBundleGetMainBundle (),CFSTR ("Beep"),CFSTR ("wav"),NULL );
AudioServicesCreateSystemSoundID (soundFileURLRef,&soundFileObject );

CFURLRef soundFileURLRef2 = CFBundleCopyResourceURL (CFBundleGetMainBundle (),CFSTR ("Recycle"),CFSTR ("wav"),NULL );
AudioServicesCreateSystemSoundID (soundFileURLRef2,&recycleFileObject );

そして、各ファイルを個別に再生するための 2 つの方法を作成しました。

-(void)playBeepSound
{
    NSLog(@"Beep sound called : %d", soundFileObject);
    AudioServicesPlaySystemSound (soundFileObject);
}


-(void)playRecycleSound
{
    NSLog(@"Recycle sound called : %d", recycleFileObject);
    AudioServicesPlaySystemSound (recycleFileObject);
}

しかし、ビープ音しか再生できませんが、2番目のサウンドwavファイルは再生できません。

エラーは何ですか???

ありがとう

4

1 に答える 1

0

もし私があなたなら、Audio Toolboxコードをクラスにラップして、一般的なコードを除外し、より快適にサウンドを再生できるようにします(サンプルコード)。どこかに小さなタイプミスがあるように見えるので、これでも問題を解決できる可能性があります。提供されたサンプルコードは問題ないようです。(すべてをログに記録しようとしましたか?nullはありません、すべてが期待どおりに呼び出されますか?両方のサウンドを同時に再生しようとしていますか、それとも間に遅延がありますか?どちらのサウンドが最初に実行されるかは重要ですか?)

于 2010-04-19T17:06:03.060 に答える