2015-01-10 2 views
0

Я работаю над проектом хобби. Я использую createjs. Но, конечно, у меня проблема. Поскольку я обновляю код для использования Preloadjs, браузер больше не может находить аудиофайлы. Вот мой код загрузки:PreloadJS не может найти аудио

function load (canvasToShowProgress) { 
    canvas = canvasToShowProgress; 
    loadingStage = new createjs.Stage(); 
    loadQueue = new createjs.LoadQueue(true); 
    progessText = new createjs.Text("Loading... 0%"); 
    loadingStage.addChild(loadingStage); 
    loadingStage.update(); 

    //start loading 
    loadQueue.installPlugin(createjs.Sound); 
    loadQueue.setMaxConnections(4); // Allow 4 concurrent loads 
    loadQueue.loadManifest("configuration/GameAssets.json"); 
    loadQueue.on("progress", handleProgress); 
    loadQueue.on("complete",handleComplete); 
} 

Мой манифест GameAssets.json выглядит следующим образом:

{"manifest": 
[ {"src":"images/game/street.png", "id":"street"}, 
    {"id":"Default", "src":"sounds/game/background.ogg"}, 
    {"id":"Psychic", "src":"sounds/game/ps.ogg"}, 
    {"id":"Nitro", "src":"sounds/game/ntr.ogg"} 
] 
} 

Кстати, изображение загружается полностью. В классе музыкального проигрывателя я вызываю звук, просто делая soundInstance = createjs.Sound.play(soundIds[currentPlayIndex]);. (The soundIds временно жёстко прописанный массив с идентификаторами. Где моя ошибка?

ответ

0

Во-первых, Я просто хочу подтвердить, что вы используете последние версии 0.6.0 как SoundJS, так и PreloadJS (их необходимо использовать вместе).

В настоящее время только Firefox и Chrome поддерживают Ogg, поэтому, если вы используете другой браузер, вам необходимо будет предоставить альтернативный формат (в настоящее время он поддерживается в наибольшей степени) и настроить его с помощью SoundJS.alternateExtensions.

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

Надеюсь, что это поможет.

+0

Я использую как SoundJS, так и PreloadJS v0.6.0 (мин. Версия). Ошибка, которую я получаю на консоли: «GET http: // localhost/game/Oggs HTTP/1.1 404 Not Found'. Я использую Firefox на Ubuntu 14.04LTS. Чтобы поддержать mp3, мне нужно добавить, например. такая строка в манифесте: '{" id ":" Psychic "," src ":" sounds/game/ps.mp3 "}'? – user2810895

+0

Странная вещь, если я использую манифест внутри js-кода, все работает отлично. Так, возможно, ошибка в моем манифесте? – user2810895

+0

Yup звучит так, как ошибка в манифесте, поскольку запрошенный файл не имеет смысла. Вы можете установить резервные типы файлов, используя [alternateExtensions] (http://www.createjs.com/Docs/SoundJS/classes/Sound.html#property_alternateExtensions). – OJay

0

Вашего soundIds массива объявить как этого

var soundIds=["Default","Psychic","Nitro"] 

затем вызвать его как то

createjs.Sound.play(soundIds[0]); 
+0

Это не работает. У меня уже был такой код, и, тем не менее, я получаю сообщение об ошибке «Ошибка загрузки OggS». – user2810895

Смежные вопросы