SoundJS не воспроизводится после использования обычного аудиоплеера с тегом html5
Я протестировал проект с последней версией SoundJS 0.6.1, также с библиотеками soundjs-NEXT, и получил те же результаты.
Все отлично работает на десктопе, у меня эта проблема на Android Chrome, тестировалась на следующих устройствах: Sony Xperia T, Asus fonepad 7.
На самом деле я использую так называемые аудио спрайты, вот код
//init
createjs.Sound.initializeDefaultPlugins();
var assetsPath = "./audio/";
var manifest = [{src:"someAudio.mp3", data: {audioSprite: [{id:"sound1"}]}}];
createjs.Sound.alternateExtensions = ["ogg"];
createjs.Sound.addEventListener("fileload", loadSound);
createjs.Sound.registerSounds(manifest, assetsPath);
function loadSound()
{
//
}
//plays without problem, until HTML5 audio tag is used
someItem.addEventListener("mousedown",playSprite,this);
function playSprite()
{
createjs.Sound.play("sound1", {startTime: 1000, duration: 3400});
}
Но только после использования этого (аудио тег уже существует на той же странице, где существует canvas):
<!--HTML -->
<audio width="100%" height="30%" id="audio">
<source src="" type="audio/mp3">
Your browser does not support the audio tag.
</audio>
//jQuery
$("#audio")[0].src="music.mp3";
$("#audio")[0].load();
$("#someButton").click(function(e)
{
$("#audio")[0].play();
});
Я не могу использовать
createjs.Sound.play("sound1", {startTime: 1000, duration: 3400});
Это не дает ошибок, только молчание.
1 ответ
Я отказался от SoundJs и закончил использовать другую аудио библиотеку
https://github.com/pupunzi/jquery.mb.audio
Поддерживает "Audio Sprites", гораздо более гибкий и удобный.