SiriWaveViewを使用できます。 githubからダウンロードしてください。
その後、あなたは、あなたが
- (void)updateMeters
{
if (audioPlayer.playing) {
CGFloat normalizedValue;
[audioPlayer updateMeters];
normalizedValue = [self _normalizedPowerLevelFromDecibels:[audioPlayer averagePowerForChannel:0]];
[siriWaveView updateWithLevel:normalizedValue];
// NSLog(@"Update meter called");
}
}
- (CGFloat)_normalizedPowerLevelFromDecibels:(CGFloat)decibels
{
if (decibels < -60.0f || decibels == 0.0f) {
return 0.0f;
}
return powf((powf(10.0f, 0.05f * decibels) - powf(10.0f, 0.05f * -60.0f)) * (1.0f/(1.0f - powf(10.0f, 0.05f * -60.0f))), 1.0f/2.0f);
}
たときにプレイオーディオや音楽
[siriWaveView setWaveColor:myColor]; //desired color
[siriWaveView setPrimaryWaveLineWidth:3.0f];
[siriWaveView setSecondaryWaveLineWidth:1.0];
は、このメソッドを実装し、同様にプロパティを設定することができ、同様
siriWaveView = [[SCSiriWaveformView alloc]initWithFrame:CGRectMake(20, (self.view.frame.size.height/2) - 160 + 120, self.view.frame.size.width - 40, 80)]; //you can set your desired frame
siriWaveView.backgroundColor = appGrayColor;
をそのインスタンスを作ることができます電話番号:
displaylink = [CADisplayLink displayLinkWithTarget:self selector:@selector(updateMeters)];
[displaylink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
このリンクからデモプロジェクトを参照すると、より理解しやすくなります。
希望します。
こんにちは!迅速な答えをありがとう。私はすでにGithubでSiriのような波形の大部分をテストしました。上記の投稿からの[YZWaveformView](https://github.com/AustinChou/YZWaveformView)は、SiriWaveViewに基づいています。それでも波形を埋める必要があり、それらをブレンドして所望の効果を達成する必要があります。 –