#android #html #cordova #audio #soundjs
#Android #HTML #кордова #Аудио #soundjs
Вопрос:
Пожалуйста, кто-нибудь может мне помочь — это сводит меня с ума!!!
Я создал проект HTML5, который использует PreloadJS и SoundJS для воспроизведения некоторых звуков. В Chrome это работает абсолютно нормально, но когда я загружаю его в эмулятор Cordova (Android SDK) или на свой мобильный Android, он успешно создается и развертывается, но я вообще не получаю звука и не могу понять, почему. Монитор Android показывает следующие ошибки, но я не уверен, связаны ли они со SoundJS:
•I/MediaFocusControl(1258): AudioFocus requestAudioFocus() from android.media.AudioManager @ b303c1a8com.android.org.chromium.media.MediaPlayerListener@b30f0238
•E/MediaPlayer(1904): error (1, -2147483648)
Я пытаюсь запустить звук при событии нажатия кнопки, поэтому я не думаю, что это связано с проблемой безопасности.
Я предварительно загружаю звуковые файлы, используя следующий код:
p.assetsPath = 'assets/';
p.initialize = function () {
this.EventDispatcher_initialize();
this.loadManifest = [
{id:this.MENUSOUNDTRACK, src:this.assetsPath 'MainTrack.ogg'},
{id:this.GAMESOUNDTRACK, src:this.assetsPath 'BackingTrack.ogg'},
.......
}
p.preloadAssets = function () {
createjs.Sound.initializeDefaultPlugins();
createjs.Sound.alternateExtensions = ["mp3"];
this.queue = new createjs.LoadQueue();
this.queue.on('progress',this.assetsProgress,this);
this.queue.on('complete',this.assetsLoaded,this);
this.queue.installPlugin(createjs.Sound);
this.queue.loadManifest(this.loadManifest);
}
Все звуковые файлы хранятся в /www /assets, которые, я считаю, должны быть автоматически сопоставлены с / android_asset / www / assets cordova.
Буду признателен за любую помощь.
Ответ №1:
Здесь вы можете увидеть некоторые обсуждения по использованию PhoneGap, которые, вероятно, будут актуальны.
Теоретически все должно работать с Cordova, но это недостаточно хорошо протестировано.
Я бы посоветовал убедиться, что все звуки загружены полностью, прежде чем пытаться воспроизводить, убедиться, что вы используете последнюю версию soundjs с github, и протестировать один из простых примеров с github, чтобы подтвердить, не связано ли это с SoundJS и Cordova или что-то в вашей реализации.
Надеюсь, это поможет.
Комментарии:
1. Привет, Оджай, спасибо за твое сообщение. я наткнулся на эту ссылку, пытаясь найти исправление, но он приходит к выводу, что они не смогли заставить ее работать, поэтому использовали другую библиотеку. Я надеялся, что кто-нибудь скажет, что у них определенно работает soundjs и как они это сделали… (И тогда я смогу понять, почему мой код не соответствует действительности)
2. На раннем этапе они отмечают, что подход, безопасный для мобильных устройств , работает в phonegap. Была проделана работа , чтобы помочь SoundJS работать с phonegap, но это не то, с чем мы тестируем.
3. Привет, Оджай — что бы я ни пробовал, я не могу заставить SoundJS работать с Cordova и Android. Так расстраивает, как я люблю CreateJS и EaselJS.
4. Жаль это слышать. Мы подумывали о добавлении плагина для Cordova / PhoneGap, но у нас не было времени реализовать его. Я продолжаю надеяться, что кто-нибудь из сообщества соберет их вместе и добавит запрос на извлечение в репозиторий.