2

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

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


        playerAV.meteringEnabled = YES;

        [playerAV prepareToPlay];
        [播放器AV播放];

NSLog(@"左峰值:%f 右平均:%f", [playerAV peakPowerForChannel:0],[playerAV averagePowerForChannel:1]);

欢迎任何想法。

4

2 回答 2

2

你在打电话updateMeters吗?peakPowerForChannel:两者的文档averagePowerForChannel:都说:

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

于 2011-05-22T18:25:07.643 回答
1

你怎么知道 url 有效,并且它末尾的数据是正确的格式?你能听到扬声器发出的声音吗?

您是否以某种方式制作了两个 playerAV 对象,一个具有正确的播放 URL,另一个具有不播放的错误 URL,并且是计时器在调用 NSLog() 时看到的那个?

于 2011-05-22T18:25:23.113 回答