Как я могу реализовать измеритель громкости для песни, которая воспроизводится в данный момент? (iPhone OS 3.1.3) - PullRequest
1 голос
/ 28 мая 2010

Я очень плохо знаком с базовым звуком, и мне просто нужна помощь в кодировании небольшого измерителя громкости для всего, что выводится через наушники или встроенный динамик, например, измеритель дБ. У меня есть следующий код, и я пытался пройти через проект исходного кода Apple «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;
 }

}

1 Ответ

2 голосов
/ 04 июня 2010

вы можете использовать измерение с классом AVAudioPlayer, сначала включите его , затем получите среднюю мощность для использования в качестве данных вашего счетчика avTouch имеет рабочий пример

...