AVAudioPlayer仪表值仍为 - 160

时间:2011-05-22 17:53:14

标签: objective-c avaudioplayer metering

尝试实现AVAudioplayer并获取播放音乐的一些计量数据,但仍然获得-160的值。 它看起来很容易使用,只需启用Meter然后在计时器下拾取数据,但到目前为止没有结果。

playerAV = [[AVAudioPlayer alloc] initWithContentsOfURL:outURL error:nil];
        playerAV.delegate = self;


        playerAV.meteringEnabled = YES;

        [playerAV prepareToPlay];
        [playerAV play];

NSLog(@"Peak left: %f Avg right: %f", [playerAV peakPowerForChannel:0],[playerAV averagePowerForChannel:1]);

欢迎任何想法。

2 个答案:

答案 0 :(得分:2)

你打电话给updateMeters吗? peakPowerForChannel:averagePowerForChannel:的文档都说:

  

要获取当前值[...],必须在调用此方法之前调用updateMeters方法。

答案 1 :(得分:1)

您如何知道网址的工作原理,最后的数据是正确的格式?你能听到扬声器传来的东西吗?

你是以某种方式制作两个playerAV对象,一个是正确的URL播放,另一个是坏网址,什么都不播放,是计时器在调用NSLog()时看到的那个?