AVAudioPlayer的iOS最大音量级别是多少?

9
我使用AVAudioPlayer播放.caf文件。我的问题是:它对我的目的来说不够响亮。由于iPhone的铃声声音要大得多,我想知道如何达到这个音量。 我已经尝试过操纵.caf文件,但没有真正成功。有什么建议吗?
到目前为止,我使用的代码是:
    AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: url error: nil];
self.appSoundPlayer = newPlayer;
[newPlayer release];
[appSoundPlayer prepareToPlay];
[appSoundPlayer setVolume: 0.8];
[appSoundPlayer setDelegate: self];
    [appSoundPlayer play];

编辑:

[appSoundPlayer setVolume: 1.0];

谢谢 马丁

2个回答

15

你可以将音量设置为实际最大值,例如:

[appSoundPlayer setVolume: 1.0];

除此之外,您可能需要编辑该文件本身。


谢谢Peter,没错,是1.0的复制粘贴错误。但还是太安静了 ;( - MartinHappyCoding

8

马丁,你是否确保系统音量已经调到最大了?如果没有,你需要使用MPMusicPlayerController来将系统音量调到最大,而不仅仅是avaudioplayer的最大音量。你可以在声音片段播放时将其调到最大音量,并将其恢复为用户原本设置的音量。

// Import headers. Link to "MediaPlayer Framework"
#import <MediaPlayer/MediaPlayer.h>

//set up audio session
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:NULL];

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);

NSURL *soundUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"HsTR_soundEFX_2-1" ofType:@"mp3"]];
audioAlert= [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil];
audioAlert.delegate = self;
[audioAlert prepareToPlay];//audioAlert is an AVAudioPLayer declared in header

//and whereever you want to play the sound, call the lines below
float currentVolume=[MPMusicPlayerController applicationMusicPlayer].volume; //grab current User volume
[[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];//set system vol to max
[audioAlert play];
[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(setVolumeBackToNormal)userInfo:nil repeats:NO];

//and the setVolumeBackToNormal function calls this line below
[[MPMusicPlayerController applicationMusicPlayer]setVolume:currentVolume];//returns volume to original setting

1
嘿,别忘了与MediaPlayer框架链接。 - Yeung
1
谢谢!有用的评论是,根据这里所述,MPMusicPlayerControllervolume属性已在iOS 7.0中被弃用。 - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接