我已经在我的iPhone应用程序中实现了AVAudioPlayer,但播放的音频太大了。为了使声音略微平静,我将音量调整为0.2f以查看它是否会产生任何影响。音量保持完全相同。这是我正在使用的代码:
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/Blip.mp3", [[NSBundle mainBundle] resourcePath]]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = 0;
[audioPlayer setVolume:0.2f];
if (audioPlayer == nil)
NSLog(@"Whoopsies, there was an error with the sound!");
else
[audioPlayer play];
为什么这不会降低音量?
有人可以解释我的意思吗?
谢谢!
答案 0 :(得分:1)
替换您的代码:
[audioPlayer setVolume:0.2f];
使用以下代码:
audioPlayer.volume = 0.2;
希望这会对你有所帮助。
答案 1 :(得分:0)
如Apples Audio & Video Coding How-To's中所述:您无法设置硬件卷。
如何访问硬件音量控制器?
处理全局系统卷,包括应用程序的卷 通过iPhone OS,应用程序无法访问。
AVAudioPlayer
实例的音量是相对音量。您可以使用两个AVAudioPlayer
实例播放两个声音,并相对于彼此设置其音量。
修改强>
如果您想控制设备的全局音量,可以使用MPVolumeView
:
MPVolumeView *myVolumeView = [[MPVolumeView alloc] initWithFrame:mpVolumeViewParentView.bounds];
[mpVolumeViewParentView addSubview:myVolumeView];
[myVolumeView release];