Звук не работает в iPhone Simulator?
Как-то мой iPhone Simulator не может воспроизводить звуки. Сначала приложение, над которым я работаю при использовании AudioServicesPlaySystemSound()
, перестало работать. Я потратил некоторое время на отладку, но звук все еще работает на iPhone, когда я запускаю приложение на устройстве. Я получаю те же результаты с другими приложениями iPhone, например, с примером приложения "Попадание сбоя".
Я не могу найти настройку звука в любом месте в настройках симулятора или Xcode. Я попытался сбросить симулятор через пункт меню Reset Содержание и настройки "безрезультатно.
Ответы
Ответ 1
На вашем Mac перейдите в "Системные настройки" > "Звук" > "Звуковые эффекты", а затем снимите флажок "Воспроизвести звуковые эффекты пользовательского интерфейса" и "Повторно проверьте".
Вам нужно повторно активировать системные звуки, см. конец этой страницы.
Ответ 2
У меня не было звука в симуляторе, поэтому я тестировал его с помощью мобильного сафари и пытался воспроизвести mp3: Нет звука!
Все приведенные выше советы не помогли. В конце концов, я изменил свой источник INPUT с виртуального устройства звукового сигнала на линейный вход, и симулятор работает!
Таким образом, даже если приложение не использовало входные данные, это не сработало с Soundflower.
Ответ 3
Я видел эту проблему после моего обновления с OSX10.5.7 до 10.6.2
И я сделал следующие изменения, чтобы заставить симулятора петь снова:
Перейдите в "Приложения/Утилиты" и запустите "Audio MIDI Setup", затем измените формат midi от 48000 до 44100.
Ответ 4
Я нашел звук очень непоследовательным в симуляторе (2.1 SDK). Иногда это работает, иногда это не так. Даже когда он работает, он обычно очень прерывистый и искаженный (при воспроизведении аудиофайлов, таких как mp3).
Несколько вещей, которые нужно запомнить:
- вызов
AudioSessionInitialize
, как только ваше приложение завершит запуск
- установить свойство
kAudioSessionProperty_AudioCategory
для сеанса через AudioSessionSetProperty
(со значением, например kAudioSessionCategory_MediaPlayback
)
- вызов
AudioSessionSetActive(YES)
Конечно, когда все остальное не работает, просто запустите его на своем оборудовании!
EDIT: теперь, когда выпущен 2.2 SDK, у меня не было проблем со звуком в симуляторе. Должно быть, они исправили ошибки! Я настоятельно рекомендую вам перейти на 2.2 SDK.
Ответ 5
OpenAL, не работающий на симуляторе, был исправлен с 2.1 SDK. Убедитесь, что Active SDK и Active Executable установлены в 2.1.
Кстати, убедитесь, что вы используете последнюю версию CrashLanding (v1.8). Некоторые неприятные утечки в SoundEngine были исправлены в последнее время.
Ответ 6
если для повторного использования системных звуков не получилось, попробуйте это:
запустить аудио-MIDI-настройку, а затем сконфигурировать свой "встроенный выход" для использования 44.100Hz, 2 канала, 24 бит. (от http://www.cocos2d-iphone.org/forum/topic/4159)
как-то через несколько дней, мой симулятор iphone теперь хочет 48.000 Гц, 2 канала, 24 бит.
просто поиграйте с ним немного и будьте осторожны, чтобы он мог случайно меняться при подключении наушников, в режиме ожидания, перезапуске и т.д.
и здесь не рекомендуется: если вы подключаете наушники в свой iphone/ipad, размер буфера может удвоиться (например, от 512 до 1024 байтов), убедитесь, что вы не полагаетесь на буферизацию, которую вы запросили!