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

我也被这个话题上的类似问题所困扰。

我的问题是有一个我不知道的全局设置。

在设置应用程序中,在

常规 > 声音 > 铃声和警报

如果“使用按钮更改”设置为Off,则使用的声音AudioServicesPlaySystemSound()将始终以全音量播放(但其他声音 API,例如AVAudioPlayer将尊重设备的音量)。

于 2012-11-07T22:01:30.610 回答