0

これについては他にもトピックがありますが、コメントすることはできません。リストされているすべてのアプローチを試しました。

私のアプリには、開いたときに再生される曲がありますが、iPad でミュートを押しても効果はありません (曲をミュートする必要があります)。

サウンドを開始するコードは次のとおりです。

audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[[NSBundle mainBundle] URLForResource:@"intro_theme" withExtension:@"wav"] error:NULL];`
[audioPlayer play];

そして、ここに私が試したさまざまなアプローチがあります:

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

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

UInt32 sessionCategory = kAudioSessionCategory_AmbientSound;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);

他の人は AVAudioPlayer にミュートオプションを尊重させることができるようです - 何かアイデアはありますか?

4

2 に答える 2

1

カテゴリ AVAudioSessionCategorySoloAmbient を試しましたか?

Apple のドキュメントによると : このカテゴリを使用すると、他のアプリからの音声は無音になります。音声は、画面ロックとサイレント スイッチ (iPhone ではリング/サイレント スイッチと呼ばれます) によって消音されます。

于 2012-05-07T19:45:03.630 に答える
0

ここに解決策があります:

setCategory の呼び出し後 1 秒まで、NSTimer を使用してオーディオの再生を遅らせました。これは iPad 3 と iPad 1 で動作します (2 ではテストしていません)。

于 2012-05-09T23:31:15.873 に答える