ios中声音的音量

时间:2014-03-18 10:17:56

标签: ios audio avaudioplayer

在我的应用程序中,我将播放声音,所以我在网上查找了如何执行此操作,并且发现我应该执行以下操作:

#import <AudioToolbox/AudioToolbox.h>

@property(nonatomic,strong)AVAudioPlayer *player;

NSURL *musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"sms_alert_circles" ofType:@"mp3"]];
    player = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];

[player setVolume:1.0];

[player prepareToPlay];
[player play];

它可以正常工作,但设备会重现我润湿但声音很小的声音,因此我更改了这一行:[player setVolume:1.0];[player setVolume:100.0];,但没有发生任何事情。 所以我试着戴上耳机,然后我重新播放这个声音和耳机,我听到声音非常好(有点太老实了)。为什么我使用iPhone的扬声器听到音量很小的声音?为什么我使用耳机听到高音量的相同声音?怎么了?

3 个答案:

答案 0 :(得分:0)

你试过这个吗,

将MediaPlayer.framework添加到项目目标

#import <MediaPlayer/MediaPlayer.h>

[[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];

谢谢!

答案 1 :(得分:0)

实际音量介于0.01.0之间。

除此之外,您可能需要自己编辑文件。

确保使用系统卷

import #import <MediaPlayer/MediaPlayer.h>
    [[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];//set system vol to max

答案 2 :(得分:0)

有一点是音量与0.0 to 1.0 ONLY不等。

#import <AudioToolbox/AudioToolbox.h>

@property(nonatomic,strong)AVAudioPlayer *player;

NSURL *musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"sms_alert_circles" ofType:@"mp3"]];
    player = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];

UInt32 doChangeDefaultRoute = 1;
        AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof (doChangeDefaultRoute), &doChangeDefaultRoute);

[player setVolume:1.0];

[player prepareToPlay];
[player play];