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

Итак, мы делаем игру на 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


person Pádraig O'Connor    schedule 16.06.2014    source источник


Ответы (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);
}
person Pádraig O'Connor    schedule 17.06.2014
comment
Да, раньше в аудиодвижке был метод предварительной загрузки, но, кажется, он исчез из v3. - person Sebastián Vansteenkiste; 22.08.2014