6

私は最初の iPad アプリケーションを開発する初期段階にあり、簡単にするために、これまで AudioServicesPlaySystemSound と関連する関数を使用してサウンドを再生してきました。私のコードは、Apple の Metronome の例の SoundEffect クラスに基づいています。

具体的な症状としては、シミュレーターでは音が聞こえるが、デバイスでは聞こえないということですが、デバイス上の他のアプリケーションでは音が聞こえることを確認しています。AudioServicesCreateSystemSoundID は有効なサウンド識別子を返しているため、大文字と小文字が異なるサウンド ファイルの名前 ("sound.mp3" と "Sound.mp3" など) ほど単純ではありません。

関係のない理由で OpenAL などの別のライブラリに切り替える必要があるかもしれないことは認識していますが、ここで何が起こっているのか知りたいです。誰か提案はありますか?OSStatus 値などを取得するために呼び出すことができる関数はありますか?

* BUMP -- 過去数週間、他のプロジェクトに取り組んできましたが、今はこれに戻っています。回答をいただければ幸いです。ありがとう。

4

2 に答える 2

5

Google検索でこの質問に出会いました。私の問題は、この質問のタイトル「AudioServicesPlaySystemSoundがiPadデバイスで機能しない」に記載されているとおりです。ただし、問題の説明は異なります。

簡単に言えば、iPad を iOS 4.3 にアップグレードした後、AudioServicesPlaySystemSound が機能しなくなりました。

私はようやく自分のバージョンの問題の解決策を見つけたので、これが他の人の助けになることを願っています.

iPad の設定アプリに移動し、[一般] を選択します。[サウンド] をタップします。「ボタンで変更」がONになっていることを確認してください。これで問題は解決します。

于 2011-03-15T20:44:38.320 に答える
2

を使用してデバイスで mp3 ファイルを再生できないと思いますAudioServicesPlaySystemSound。サポートされているファイルの種類については、ドキュメントを参照してください。シミュレーターで正しく再生される理由はわかりませんが、同じ問題がありました。代わりに AVAudioPlayer を使用してみてください。

NSError *error;
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[[NSBundle mainBundle] URLForResource: @"sound" withExtension: @"mp3"] error:&error];
if (error)  {
    NSLog(@"Error creating audio player: %@", [error userInfo]);
} else {
    [audioPlayer play];
}

[audioPlayer release];
于 2010-12-27T18:21:16.380 に答える