我正在编写一个使用AVAudioPlayers
播放声音的应用,我需要以绝对最大音量播放声音。是的,您可以设置AVAudioPlayer
的相对音量,但如果用户关闭了设备音量,声音仍会静音播放。
我知道Apple说无法覆盖设备音量,但闹钟应用程序却能够以某种方式实现这一点 - 所以必须有办法。
我相信这可以通过使用音频队列来完成:
AudioQueueSetParameter(aq, kAudioQueueParam_Volume, 1.0);
但我的代码需要使用AVAudioPlayer
播放声音,所以我认为这种方法不会有任何帮助。
还有一种方法可以使用MPVolumeView
的未记录函数来实现此目的,但显然有人已经因使用此方法而拒绝了应用程序。
还有其他想法吗?
答案 0 :(得分:6)
The comment from the anonymous for this site:
float volume;
[[MPMusicPlayerController applicationMusicPlayer] setVolume:volume];
确实有用。
答案 1 :(得分:0)
我遇到了这个:
MPVolumeView *volumeView1 = [[MPVolumeView alloc] initWithFrame:CGRectMake(4, 316, sk.size.width, sk.size.height)];
[volumeView1 sizeToFit];
[self.view addSubview:volumeView1];
[volumeView1 release];
我不完全确定它是否有用,但我相信它应该有效。看来你可能需要修改高度和宽度