AVAudioPlayer太大声了

时间:2012-02-28 08:07:51

标签: iphone objective-c ios audio avaudioplayer

我已经在我的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];

为什么这不会降低音量?

有人可以解释我的意思吗?

谢谢!

2 个答案:

答案 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];