3

エミュレーターでは問題なく再生されますが、実際の iPhone 3GSではまったく再生されない短い効果音のサンプルがいくつかあります。Apple SysSound サンプルからそのままのコードを次に示します。

CFBundleRef mb = CFBundleGetMainBundle ();
CFURLRef soundFileURLRef = CFBundleCopyResourceURL
    (mb, CFSTR("mySound"), CFSTR ("caf"), NULL);

SystemSoundID sid;
AudioServicesCreateSystemSoundID(soundFileURLRef, &sid);
AudioServicesPlaySystemSound(sid);

iPhone を使用している場合、iTunes からのキークリックと音楽を聞くことができます (サウンドの再生と同時に使用しようとはしていません) が、サウンドがまったく聞こえません。Vibra は問題なく動作するので、Framework も正しくセットアップする必要があります。

SoundEffect.h/m サンプルコードも試してみましたが、変化なし。同じサウンド ファイルを使用しましたが、特にエミュレーターで再生する場合は、CAF は問題ありませんか?

次に何を試すことができますか?

4

4 に答える 4

3

wav や mp3 などの別の形式に変換してから、もう一度再生してみてください。caf を使用する場合は、Terminal.app で caf を正しくフォーマットしていることを確認してください。

afconvert -f caff -d ima4 mysound.wav
于 2010-01-14T14:18:09.963 に答える
2

補足として-私はまったく同じ問題を抱えていて、ファイルを正しい形式に変換するなどにおそらく1時間近く費やしていました.しかし、問題はiPadの「ミュート」スイッチでした. そのため、ボリュームを上げて iPad で他のサウンドを聞くことはできましたが、ミュート スイッチがオンになっているため、システム サウンドは再生されませんでした。

混乱に加えて、このアプリは音声合成を使用しており、文字起こしによる音量はまったく問題なく、聞こえなかったのは音だけでしたAudioServicesPlaySystemSound()

于 2012-12-03T20:29:18.343 に答える
0

より簡単な解決策を見つけました:AIFサウンドファイルを使用します

  • 「iTunes」>「設定」をクリックします
  • 「一般」タブをクリックします
  • 「設定のインポート」ボタンをクリックします
  • [使用してインポート]ドロップダウンで、[AIFFエンコーダー]を選択します
  • 変更を保存します
  • サウンドファイルを選択し、「AIFFバージョンの作成」を選択します

これが、AppleサンプルBubbleLevelのSoundEffect.hSoundEffect.mと一緒に使用しているコードです

NSBundle *mainBundle = [NSBundle mainBundle];
buzzerSound = [[SoundEffect alloc] initWithContentsOfFile:[mainBundle pathForResource:@"buzzerSound" ofType:@"aif"]];
[buzzerSound play];

これで、同じコード(および効果音)がエミュレーターとハードウェアの両方で機能するようになりました。ところで、元のiTunes設定に戻すことを忘れないでください!

于 2010-01-15T08:15:34.143 に答える
0

ちょっと遠いショットですが、電話のファイルシステムは大文字と小文字を区別しますが、Mac は通常そうではありません。ファイル名を再確認してください

于 2010-01-14T14:11:11.710 に答える