4

我正在编写一个AVAudioPlayers用于播放声音的应用程序,我需要以绝对最大音量播放声音。是的,您可以为 设置相对音量AVAudioPlayer,但如果用户调低了设备音量,声音仍会安静地播放。

我知道苹果公司说设备音量不能被覆盖,但是那里的闹钟应用程序能够以某种方式做到这一点 - 所以必须有办法。

我相信这可以通过调用使用音频队列来完成:

AudioQueueSetParameter(aq, kAudioQueueParam_Volume, 1.0);

但是我的代码需要使用AVAudioPlayer来播放声音,所以我认为这种方法不会有任何帮助。

还有一种方法可以使用未记录的函数MPVolumeView来完成此操作,但显然有人已经因为使用此方法而拒绝了应用程序。

还有其他想法吗?

4

2 回答 2

6

本站匿名评论

float volume;
[[MPMusicPlayerController applicationMusicPlayer] setVolume:volume];

确实有效。

于 2011-02-02T01:14:43.837 回答
0

我遇到了这个:

 MPVolumeView *volumeView1 = [[MPVolumeView alloc] initWithFrame:CGRectMake(4, 316, sk.size.width, sk.size.height)]; 
[volumeView1 sizeToFit]; 
[self.view addSubview:volumeView1]; 
[volumeView1 release]; 

我不完全确定它是否会起作用,但我相信它应该会。看来您可能必须修改高度和宽度

于 2010-03-06T16:16:54.310 回答