12

iPhoneアプリで.cafファイルをループ再生する必要があります。

AVAudioPlayerは有望に見えます。しかし、1つの問題があります。iPhoneのミュートボタンを押しても停止したりミュートしたりしません。

そして私は、iOS5でそのミュートボタンが押されているかどうかをプログラムで確認する方法がないことを理解しています。

したがって、私が知る必要があるのは、AVAudioPlayerまたはAVAudioSessionに関するいくつかのプロパティかもしれません。または、.cafファイルの再生をループするために、他のライブラリを検討する必要があるかもしれません。

何か案が?

4

3 に答える 3

26

このコード行があったからだと気づきました

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];

それから私はそれをに変更しました

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil];

次に、ミュートボタンが機能し、AVAudioPlayerが停止します...

于 2012-02-19T03:46:37.807 に答える
1

ドキュメントから:

ここに画像の説明を入力してください

したがって、基本的には、どのオーディオセッションカテゴリがニーズに合っているかを把握する必要があります。

于 2019-05-24T21:15:55.473 に答える
0

迅速な3.0のための私の2セント:

let sharedSession = AVAudioSession.sharedInstance()

do {
    try sharedSession.setCategory(AVAudioSessionCategoryAmbient)
} catch _{
    return false
}

またはより単純な:

try? sharedSession.setCategory(AVAudioSessionCategoryAmbient)
于 2017-02-05T11:35:55.573 に答える