Почему звук работает в симуляторе, а не на моем iPad? - PullRequest
2 голосов
/ 14 сентября 2011

Я работаю над созданием очень простого приложения.2 кнопки, обе воспроизводят звук.Каждый клип длится 1 секунду и отвечает на «TouchUpInside».Это файлы .caf, которые я конвертировал в iTunes.

Вот мой код, он снова работает в симуляторе, но не на устройстве:

enter code here- (void)viewDidLoad {

    NSLog(@"InView did load");

AudioServicesCreateSystemSoundID ((CFURLRef)[NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"bigaif" ofType:@"caf"]], &systemSoundID);


    AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:[[NSBundle mainBundle] 
                                                                   pathForResource: @"smallwav" ofType:@"wav"]],                                                            
                                                                    &systemSoundIDTwo);

}

-(IBAction) playSound:(id) sender {
AudioServicesPlaySystemSound(systemSoundID);
}

-(IBAction) playSoundTwo:(id) sender {
AudioServicesPlaySystemSound(systemSoundIDTwo);

}

Ответы [ 4 ]

10 голосов
/ 21 января 2013

После поиска ошибок в моем коде в течение последних 30 минут я обнаружил, что кнопка отключения звука на боковой панели iPad была включена.Проверьте это перед тем, как попробовать какое-нибудь причудливое решение.

30 минут хорошо потрачено ...

4 голосов
/ 19 октября 2011

Я нашел свой ответ.Я использовал SystemSound, и, как вы знаете, мои системные звуки были отключены в настройках устройства.

3 голосов
/ 29 ноября 2012

У меня была такая же проблема.Я не добавил ссылку на AudioToolbox.framework, но она все еще работала на симуляторе.Я добавил его, и он воспроизводился на переднем плане моего приложения на устройстве.

Затем я хотел, чтобы он воспроизводил звук в фоновом режиме.В info.plist «Необходимые фоновые режимы» добавьте клавишу « проигрывает аудио ».Это заставило его работать на заднем плане.

0 голосов
/ 25 октября 2012

Это случилось и со мной. Звуки играли просто отлично в симуляторе, но не на устройстве. Я пытался воспроизводить звуки несколькими разными способами. Я использовал и SystemSound и AVAudioPlayer с одинаковыми результатами. Я даже загрузил код из учебника Mobile Orchard и получил тот же результат. Пример кода отлично работал в симуляторе, но не воспроизводился на устройстве.

Через 2 часа я дважды нажал кнопку «домой» на iPad, прокрутил влево до элементов управления звуком, а затем коснулся значка динамика слева. Это привело к появлению косой черты на значке динамика, чтобы указать, что громкость системы отключена. Затем я снова нажал, косая черта исчезла, и я смог воспроизводить звуки через устройство.

Таким образом, мне пришлось переключаться между приглушенным состоянием устройства, используя этот метод, и это сбрасывало что-то на iPad, чтобы я мог слышать звуки.

Обратите внимание, что это было на iOS6.

...