2010-11-12 4 views
4

Я написал приложение, которое должно быть запущено как на iPad, так и на iPhone. Я использую AVAudioPlayer для воспроизведения звука. Теперь я столкнулся с некоторыми проблемами с уровнями громкости.Звук приложения работает на iPhone слишком низко

При работе на iPad все в порядке, уровень громкости воспроизводимого звука прекрасен, также при работе в симуляторе iPad.

Проблема возникает, когда приложение запускается на iPhone: в то время как уровни громкости в симуляторе iPhone в порядке, уровни на устройстве очень низкие.

Вот код, я использую на обоих устройствах:

if (audioPlayerAtmo==nil) 
{ 
    NSString *filename = [NSString stringWithFormat:@"Atmo_%i", currentPage]; 
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:filename ofType:@"mp3"]]; 
    AVAudioPlayer *tempPlayer =[[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL]; 
    tempPlayer.delegate = self; 
    //NSLog(@"tempPlayer.volume: %f", [tempPlayer volume]); 
    [tempPlayer setVolume:1.0f]; 
    //NSLog(@"tempPlayer.volume: %f", [tempPlayer volume]); 
    self.audioPlayerAtmo = tempPlayer; 
    [tempPlayer release]; 
    [audioPlayerAtmo play]; 
    btAtmo.selected = YES; 
} 
else // player exists 
{ 
    // ... 
} 

ли кто-то есть идея, почему уровень настолько низок, на iPhone в то время как все хорошо в тренажере и на IPad?

Заранее за вашу помощь.

Технические данные: Xcode 3.2.4 iPhone 4 (Vers 4,1.)

ответ

6

Вы уверены, что вы маршрутизации аудио на правильный динамик?

UInt32 doChangeDefaultRoute = 1;   
AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof (doChangeDefaultRoute), &doChangeDefaultRoute); 
+0

Большое спасибо за вашу помощь! Он работает сейчас. – MatthiasC

+0

+1 Ответ сверху! Работает как шарм! – Groot

+0

Нужно ли нам писать эту строку кода во всех экземплярах или писать сразу? –

Смежные вопросы