0

クラスを使用してゲームで効果音を再生していますが、SystemSoundID奇妙な結果が得られます。以下を含むいくつかのサウンドはlanded1、音量ボタンに応じて音量が変化しますが、deathsound常に最大音量で再生されるようなものもあります。以下は、2 つのサウンドに関連するすべてのコードです。

SystemSoundID deathsound;

SystemSoundID landed1;

...

NSURL *soundURL;

soundURL = [[NSBundle mainBundle] URLForResource:@"SMPKLanded1" withExtension:@"mp3"];
    AudioServicesCreateSystemSoundID ((__bridge CFURLRef) soundURL, &landed1);

soundURL = [[NSBundle mainBundle] URLForResource:@"SMPKDeathSound" withExtension:@"mp3"];
    AudioServicesCreateSystemSoundID ((__bridge CFURLRef) soundURL, &deathsound);

...

AudioServicesPlaySystemSound(landed1);

...

AudioServicesPlaySystemSound(deathsound);

コードとファイルタイプが本質的に同じであるのに、なぜこの 2 つの動作が異なるのでしょうか? 意味がない!

4

1 に答える 1

0

ええと、途方もない時間を費やして自分を夢中にさせた後、ついにそれを理解しました。それらのいくつかは と同時に再生されていますAVAudioPlayer。これにより、何らかの理由で音量ボタンに適合するものと、そうでないものがあります。私の明らかな次のステップはAVAudioPlayer、私が今行ったサイレントを作成することであり、プログラムは期待どおりに機能します。

フォローアップの質問として、なぜ感情があるのか​​ 何か手がかりを持っている人はいAVAudioPlayerますSystemSoundIDsか?

于 2013-05-21T02:09:29.497 に答える