21

私はこのコードを持っています:

-(void)createAndPlaySoundID: (NSString*)name 
{
    NSString *path = [NSString stringWithFormat: @"%@/%@", [[NSBundle mainBundle] resourcePath], name];

    NSURL* filePath = [NSURL fileURLWithPath: path isDirectory: NO];
    SystemSoundID soundID;
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)filePath, &soundID);

    AudioServicesPlaySystemSound(soundID);
}

私はこれを次のように呼びます:

[self createAndPlaySoundID: @"mySound.caf"];

これはうまく機能しますが、音量を制御できません。iPadの標準の物理音量ボタンを使用して、ユーザーが音量を制御できるようにしたいだけです。

この音量を 1 に下げると、素晴らしい再生が行われますが、デバイスの音量を最大まで上げると、同じ音量になります。

これを処理して、助けていただければ幸いです、ありがとう。

4

1 に答える 1

34

私もこのトピックに関する同様の問題に悩まされていました。

私の問題は、私が知らなかったグローバル設定があったことでした。

設定アプリで、

一般 > サウンド > 着信音とアラート

「Change with Buttons」が に設定されているOff場合、 を使用するサウンドAudioServicesPlaySystemSound()は常にフル ボリュームで再生されます (ただし、 などの他のサウンド APIAVAudioPlayerはデバイスのボリュームを尊重します)。

于 2012-11-07T22:01:30.610 に答える