AudioServicesPlaySystemSound Volume?

时间:2012-06-01 18:57:25

标签: iphone objective-c audio volume

我有这段代码:

-(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,它会播放,很棒,但是如果我将设备音量调到最大音量相同的话。

任何帮助将不胜感激,处理此事,谢谢。

1 个答案:

答案 0 :(得分:30)

我对这个话题也有类似的问题。

我的问题是我没有意识到全球环境。

在“设置”应用中的

  

一般>声音>铃声和警报

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