我有这段代码:
-(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,它会播放,很棒,但是如果我将设备音量调到最大音量相同的话。
任何帮助将不胜感激,处理此事,谢谢。
答案 0 :(得分:30)
我对这个话题也有类似的问题。
我的问题是我没有意识到全球环境。
在“设置”应用中的
下一般>声音>铃声和警报
如果“使用按钮更改”设置为Off
,那么使用AudioServicesPlaySystemSound()
的声音将始终以全音量播放(而其他声音API,例如AVAudioPlayer
将尊重音量设备)。