Звук, не работающий в iPhone Simulator?

Вот пример использования контроллера, введенного Guice.

/**
 * Loads a FXML file and injects its controller from the given Guice {@code Provider}
 */
public abstract class GuiceFxmlLoader {

   public GuiceFxmlLoader(Stage stage, Provider<?> provider) {
      mStage = Objects.requireNonNull(stage);
      mProvider = Objects.requireNonNull(provider);
   }

   /**
    * @return the FXML file name
    */
   public abstract String getFileName();

   /**
    * Load FXML, set its controller with given {@code Provider}, and add it to {@code Stage}.
    */
   public void loadView() {
      try {
         FXMLLoader loader = new FXMLLoader(getClass().getClassLoader().getResource(getFileName()));
         loader.setControllerFactory(p -> mProvider.get());
         Node view = loader.load();
         setViewInStage(view);
      }
      catch (IOException ex) {
         LOGGER.error("Failed to load FXML: " + getFileName(), ex);
      }
   }

   private void setViewInStage(Node view) {
      BorderPane pane = (BorderPane)mStage.getScene().getRoot();
      pane.setCenter(view);
   }

   private static final Logger LOGGER = Logger.getLogger(GuiceFxmlLoader.class);

   private final Stage mStage;
   private final Provider<?> mProvider;
}

Вот конкретная реализация загрузчика:

public class ConcreteViewLoader extends GuiceFxmlLoader {

   @Inject
   public ConcreteViewLoader(Stage stage, Provider<MyController> provider) {
      super(stage, provider);
   }

   @Override
   public String getFileName() {
      return "my_view.fxml";
   }
}

Обратите внимание, что этот пример загружает представление в центр BoarderPane, который является корнем сцены в рабочей области. Это не относится к примеру (деталь реализации моего конкретного варианта использования), но решил оставить его, поскольку некоторые из них могут оказаться полезными.

46
задан Michal Sznajder 25 March 2009 в 09:33
поделиться

6 ответов

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

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

65
ответ дан Jagat Dave 8 November 2019 в 00:06
поделиться

OpenAL, не работающий над средством моделирования, был зафиксирован с 2,1 SDK. Удостоверьтесь Активный SDK и , Активный Исполняемый файл установлен на 2,1.

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

3
ответ дан Steph Thirion 8 November 2019 в 00:06
поделиться

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

Несколько вещей помнить:

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

, Конечно, когда все остальное перестало работать, просто выполните его на своих аппаратных средствах!

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

3
ответ дан Marc Novakowski 8 November 2019 в 00:06
поделиться

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

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

4
ответ дан 26 November 2019 в 20:22
поделиться

если повторная активация системных звуков не помогла, попробуйте следующее: запустите audio-midi-setup, затем настройте ваш "встроенный выход" на использование 44.100Hz, 2 канала, 24 бита. (из http://www.cocos2d-iphone.org/forum/topic/4159)

почему-то через несколько дней мой симулятор iphone теперь хочет 48.000Hz, 2 канала, 24 бита. просто поиграйте с ним немного и имейте в виду, что он может меняться случайным образом при подключении наушников, переходе в режим ожидания, перезагрузке и т.д.

и вот еще совет не по теме: когда вы подключаете наушники к iphone/ipad, размер буфера может удвоиться (например, с 512 байт до 1024 байт), убедитесь, что вы не полагаетесь на запрашиваемый размер буфера!

2
ответ дан 26 November 2019 в 20:22
поделиться

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

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

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

17
ответ дан 26 November 2019 в 20:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: