1

以下のコードを使用し、アプリを通じてこのコードを何度も呼び出して、ボタンとアプリケーションのサウンドを再生しています。現在、デバイスの音量コントロールが内部アプリケーションの音量を変更しないという問題が発生しています。音量を完全にオフにしても、アプリケーションはサウンドを再生します。ハードウェアの音量コントロールが変更されたことを検出し、それに応じて音量を更新する方法はありますか? オーディオ セッションが新しく設定されたボリュームに応答するようにするだけで、スライダーを更新したくはありません。事前にどうもありがとうございました。

AudioSessionInitialize(NULL, NULL, NULL, self);
UInt32 category = kAudioSessionCategory_AmbientSound;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
                        sizeof(category),
                        &category);
AudioSessionSetActive(YES);

NSString *path = [NSString stringWithFormat:@"%@/%@.wav",
                                            [[NSBundle mainBundle] resourcePath],
                                            sound];
SystemSoundID soundID;
NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];

AudioServicesCreateSystemSoundID((CFURLRef)filePath, &soundID);
AudioServicesPlaySystemSound(soundID);
4

1 に答える 1

0

私はすでに同じ問題について研究開発を行っています。を使用して外部デバイスの音量を変更することで音量スライダーを変更できます

MPMusicPlayerController *_musicController = [MPMusicPlayerController iPodMusicPlayer];

以下にいくつかのリンクがあり、おそらくこれらがあなたを助けます。

  1. http://stackoverflow.com/questions/9227435/changing-device-volume

  2. http://oleb.net/blog/2009/07/the-music-player-framework-in-the-iphone-sdk/

于 2012-04-24T06:55:22.340 に答える