Cocos2D Javascript 3.0 Аудио на iOS / iPad

#javascript #ios #html #cocos2d-js #howler.js

#javascript #iOS #HTML #cocos2d-js #howler.js

Вопрос:

Итак, создаем HTML5-игру с использованием нового Cocos2D Javascript 3.0, который только что вышел. Столкнитесь с довольно раздражающей болью в заднице с тем, как воспроизводится звук на iOS и iPad. Моя игра нацелена на то, чтобы быть кроссплатформенной, а аудио работает на устройствах с браузером и Android. Он работает даже на Windows Phone!

Я пытался манипулировать обработчиком событий iOS (я знаю, что он не позволяет воспроизводить аудио, если пользователь не взаимодействует с устройством), но предыдущие версии cocos2D HTML5 предполагали, что это звуковой движок, используемый для поддержки iOS без каких-либо проблем. Теперь, похоже, этого не происходит…

Также я рассмотрел такие альтернативы, как Howler.js , однако для реализации этого для работы с iOS требуется, чтобы у меня был SimpleAudioEngine, которого, как я полагаю, нет в версии 3.0.

Может кто-нибудь порекомендовать какие-либо решения? Я был бы достаточно счастлив, если бы мог даже просто воспроизводить фоновую музыку на iOS.

Я использовал это, чтобы помочь всем заинтересованным http://www.cocos2d-x.org/docs/manual/framework/html5/release-notes/v3.0a/upgrade-guide/en

Ответ №1:

Исправлено. Как я уже сказал, вы можете воспроизводить звуки только после того, как пользователь фактически взаимодействовал с системой, с помощью касания или щелчка и т. Д… У меня было это до того, как я задал свой вопрос. Похоже, проблема заключалась в том, что аудио не было загружено вовремя для запуска события: D

Изменил мой звук на .mp3, поскольку он намного меньше, и обернул мою музыку для воспроизведения при вводе кнопки.

 var closeItem = cc.MenuItemSprite.create(
            cc.Sprite.create(res.play),
            playButton,
            function () {
                cc.log("New Game!");
                this.playEffect();
);


playEffect:function() {
    var audioengine = cc.audioEngine;
    audioengine.playMusic(res.music, true);
}
  

Комментарии:

1. Да, раньше в audioengine был метод «предварительной загрузки», но, похоже, он исчез из версии 3.