这是我的问题,我想制作一个动态的声谱。在那里我发现一个演示可以简单地通过AVAudioPlayer来做到这一点。这意味着它适用于本地音频。代码就像:
SpectrumView * spectrumView2 = [[SpectrumView alloc] initWithFrame:CGRectMake(0, 100, 120, 80)];
spectrumView2.center = self.view.center;
__weak SpectrumView * weakSpectrum2 = spectrumView2;
spectrumView2.itemLevelCallback = ^() {
[self.avAudioPlayer updateMeters];
float power= [self.avAudioPlayer averagePowerForChannel:0];
weakSpectrum2.level = power;
};
[self.view addSubview:spectrumView2];
但我使用AVPlayer播放互联网音频,因此我无法使用updateMeters
和averagePowerForChannel
方法。那么有什么方法可以通过使用AVPlayer来使用这两种方法吗?(Swift demo也可以)