Невозможно воспроизвести аудио на устройстве (iOS) - PullRequest
0 голосов
/ 05 марта 2012

Я использую следующий код для воспроизведения звука в iOS, используя **AVAudioPlayer** класс.

NSString *audioPath = [[NSBundle mainBundle] pathForResource:@"myAudio" ofType:@"mp3"];
NSURL *audioURL = [[NSURL alloc] initFileURLWithPath:audioPath];
NSError *error;
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL error:&error];
audioPlayer.delegate = self;
[audioPlayer prepareToPlay];
[audioPlayer play];

Это нормально работает в симуляторе. Но я не получаю звук, когда запускаю его на устройстве. Методы делегата AVAudioPlayerDelegate также вызываются, но объем не выводится. Где я здесь ошибаюсь ... Еще один важный аспект, который я здесь заметил, заключается в том, что я получаю большое сообщение в моей GDB во время воспроизведения аудиофайла на симуляторе. Но то же самое не происходит на устройстве ... Пожалуйста, смотрите скриншот ниже для сообщений GDB при работе на симуляторе.

enter image description here

Ответы [ 3 ]

0 голосов
/ 05 марта 2012

Вы пробовали файл .caf или .wav? Возможно, что .mp3 не работает на iPhone. Также проверьте длительность вашего файла не более 30 сек.

0 голосов
/ 04 мая 2012

Я был так глуп ... Моя кнопка громкости была выключена. Это было причиной.

Очень жаль, что я потратил ваше время, ребята ... Мои искренние извинения.

0 голосов
/ 05 марта 2012

Проверьте, находится ли ваше устройство в режиме громкоговорителя или нет ..

для прослушивания звука через Loundspeaker используйте это -

// set audio to loudSpeaker mode for iphone
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);

или вы можете увеличить громкость вашего аудиофайла, используяэто -

Player.volume = 10.0;
...