音频服务播放系统音量



我有这个代码:

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

在这个话题上我也遇到了类似的问题。

我的问题是有一个我不知道的全球环境。

在"设置"应用中,在

铃声和警报>一般>声音

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

最新更新