1

私はコアオーディオに非常に慣れていないので、dBメーターのように、ヘッドフォンや内蔵スピーカーから出力されているもののために小さなボリュームメーターをコーディングするのに助けが欲しい. 私は次のコードを持っていて、アップルソースプロジェクト「SpeakHere」を試してみましたが、最初にどのように機能するかを知らずにすべてを通過しようとするのは悪夢です...誰か光を当てることができますか?

これが私がこれまでに持っているコードです...

(void)displayWaveForm 
{
 while (musicIsPlaying == YES {
  NSLog(@"%f",sizeof(AudioQueueLevelMeterState));
 }
}

(IBAction)playMusic 
{
 if (musicIsPlaying == NO) {
  NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/track7.wav",[[NSBundle mainBundle] resourcePath]]];

  NSError *error;

  music = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
  music.numberOfLoops = -1;

  music.volume = 0.5;
  [music play];
  musicIsPlaying = YES;
  [self displayWaveForm];
 }

 else {
  [music pause];
  musicIsPlaying = NO;
 }

}
4

1 に答える 1

2

AVAudioPlayerクラスでメータリングを使用できます。最初に有効にしてから、メータデータとして使用する平均電力を取得しますavTouchには実際の例があります

于 2010-06-04T00:58:20.583 に答える