【发布时间】:2013-03-14 06:44:43
【问题描述】:
我正在使用 AVaudioplayer 播放 .mp3 文件:-
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"Speech"ofType:@"mp3"]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error];
if (error)
{
NSLog(@"Error in audioPlayer: %@",
[error localizedDescription]);
} else {
audioPlayer.delegate = self;
audioPlayer.numberOfLoops=-1;
[audioPlayer prepareToPlay];
[audioPlayer play];
}
audioPlayer.meteringEnabled = YES;
audioPlayer.volume=0;
NSTimer *playerTimer = nil;
if (!playerTimer)
{
playerTimer = [NSTimer scheduledTimerWithTimeInterval:0.001
target:self selector:@selector(monitorAudioPlayer)
userInfo:nil
repeats:YES];
}
[audioPlayer updateMeters];
-(void)monitorAudioPlayer{
[audioPlayer updateMeters];
for (int i=0; i<audioPlayer.numberOfChannels; i++)
{
float power = [ audioPlayer averagePowerForChannel: i ];
float peak = [ audioPlayer peakPowerForChannel: i ];
}
}
并且以书面形式,我得到了该音频播放器的浮点数。 有没有办法改变这个音频播放器的峰值功率,使声音变成一些有趣的声音或其他东西。 通过使用音频会话或其他一些东西是可能的。 我是通过使用 DIRAC 完成的。 但我无法获得 powervalue。因为它总是返回静态 powervalue。
提前致谢。
【问题讨论】:
标签: iphone ios avaudioplayer avaudiosession