Вопрос

Почему-то мой iPhone Simulator не может воспроизводить звуки.Первое приложение, над которым я работаю AudioServicesPlaySystemSound() перестал работать..Я потратил некоторое время на отладку, но звук на iPhone все еще работает, когда я запускаю приложение на устройстве.Я получаю те же результаты с другими приложениями для iPhone, такими как образец приложения Crash Landing.

Я не могу найти настройку звука нигде в настройках симулятора или Xcode.Я попытался сбросить настройки симулятора через пункт меню «Сбросить содержимое и настройки», но безрезультатно.

Это было полезно?

Решение

На вашем Mac перейдите в Системные настройки > Звук > Звуковые эффекты, а затем снимите флажок и еще раз "Воспроизведите звуковые эффекты интерфейса пользователя".

Вам необходимо повторно активировать системные звуки, см. конец этого страница.

Другие советы

У меня не было звука в симуляторе, поэтому я проверил его с помощью мобильного сафари и попытался воспроизвести mp3: Нет звука!

Все вышеперечисленные советы не помогли. В конце концов я изменил источник INPUT с виртуального устройства Soundflower на Line-In, и симулятор сработал!

Итак, даже если приложение не использовало ввод, оно не работало с Soundflower.

Я видел эту проблему после обновления с OSX10.5.7 до 10.6.2

И я внес следующие изменения, чтобы симулятор снова запел: Перейти к "Приложения / Утилиты" и запустите «Audio MIDI Setup», затем измените формат midi с 48000 на 44100.

OpenAL, не работающий на симуляторе, был исправлен в 2.1 SDK. Убедитесь, что Active SDK и Active Executable имеют значение 2.1.

Кстати, убедитесь, что вы используете последнюю версию CrashLanding (v1.8). Некоторые неприятные утечки в SoundEngine были недавно исправлены.

Я обнаружил, что звук в симуляторе (2.1 SDK) очень непоследовательный.Иногда это работает, иногда нет.Даже когда он работает, он обычно очень прерывистый и искаженный (при воспроизведении аудиофайлов, таких как mp3).

Несколько вещей, которые следует запомнить:

  • вызов AudioSessionInitialize как только ваше приложение завершит запуск
  • установить kAudioSessionProperty_AudioCategory свойство для сеанса через AudioSessionSetProperty (со значением, например kAudioSessionCategory_MediaPlayback)
  • вызов AudioSessionSetActive(YES)

Конечно, если ничего не помогает, просто запустите его на своем оборудовании!

РЕДАКТИРОВАТЬ:Теперь, когда вышел SDK 2.2, у меня не было проблем со звуком в симуляторе.Должно быть, они исправили ошибки!Я настоятельно рекомендую вам перейти на SDK 2.2.

scroll top