Как я могу реализовать измеритель громкости для песни, которая воспроизводится в данный момент? (iPhone OS 3.1.3)
Я очень плохо знаком с основным звуком, и мне просто нужна помощь в кодировании небольшого измерителя громкости для всего, что выводится через наушники или встроенный динамик, например, измеритель дБ. У меня есть следующий код, и я пытался пройти через проект исходного кода 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 ответ
Вы можете использовать измерение с классом AVAudioPlayer, сначала включите его, а затем получите среднюю мощность для использования в качестве данных вашего счетчика. У avTouch есть рабочий пример.