11

AudioToolBox を使用して小さな .wav ファイルを再生しています。

AudioServicesPlaySystemSound (soundFileObject);

しかし、時々再生されないことがあります。

理由は何ですか?

4

6 に答える 6

16

シミュレーターを使用している場合は、[システム設定] → [サウンド] で、[ユーザー インターフェイスのサウンド効果を再生する] がオフになっていないことを確認してください。デバイスを使用している場合は、呼び出し音スイッチがサイレントに設定されていないことを確認してください。

于 2010-04-27T17:01:32.687 に答える
5

もしかしてこの問題?AudioServicesDisposeSystemSoundID()再生前にサウンドワークを停止します。

于 2012-08-15T09:06:01.167 に答える
3

user1056521 の回答に基づいて、次のコードを使用します。

AudioServicesPlaySystemSoundWithCompletion(soundID, ^{
    AudioServicesDisposeSystemSoundID(soundID);
});

wheresoundIDSystemSoundIDを呼び出したときに取得した値ですAudioServicesCreateSystemSoundID()

完了ブロックは、サウンドが破棄される前に再生され、再生が完了したことを保証します。

于 2016-08-30T10:18:29.333 に答える
2

システム環境設定 → サウンド → [x] ユーザー インターフェイス サウンドを再生 — このチェックボックスも役に立ち、AudioServicesPlaySystemSound(_) の問題を解決しました。ただし、サンプルの Apple Xcode プロジェクト「SysSound」は、このボックスをチェックしなくても問題なく動作したことは注目に値します。独自のアプリをゼロから作成するために Xcode 4.4.1 を使用しています。古い Xcode ツールと新しい Xcode ツールで作成されたプロジェクトに違いはありますか?

于 2012-08-13T18:24:11.787 に答える
0

デバイスで、設定に移動し、[サウンド] -> [着信音とアラート] で音量を上げます

于 2012-12-15T01:49:37.110 に答える