add audio to playground

This commit is contained in:
Eric Rosenbaum 2017-01-06 11:49:25 -05:00
parent 9350baef3b
commit fec9e5b91a
5 changed files with 12 additions and 6 deletions

View file

@ -36,6 +36,8 @@ window.onload = function() {
var renderer = new window.RenderWebGL(canvas);
window.renderer = renderer;
vm.attachRenderer(renderer);
var audioEngine = new window.AudioEngine();
vm.attachAudioEngine(audioEngine);
// Instantiate scratch-blocks and attach it to the DOM.
var workspace = window.Blockly.inject('blocks', {

View file

@ -71,7 +71,7 @@ Scratch3SoundBlocks.prototype.stopAllSounds = function (args, util) {
Scratch3SoundBlocks.prototype.playNoteForBeats = function (args, util) {
return util.target.audioPlayer.playNoteForBeats(args.NOTE, args.BEATS);
};
};
Scratch3SoundBlocks.prototype.playDrumForBeats = function (args, util) {
return util.target.audioPlayer.playDrumForBeats(args.DRUM, args.BEATS);

View file

@ -57,8 +57,7 @@ var parseScratchObject = function (object, runtime, topLevel) {
var sound = object.sounds[s];
sprite.sounds.push({
format: sound.format,
fileUrl: 'https://cdn.assets.scratch.mit.edu/internalapi/asset/'
+ sound.md5 + '/get/',
fileUrl: 'https://cdn.assets.scratch.mit.edu/internalapi/asset/' + sound.md5 + '/get/',
rate: sound.rate,
sampleCount: sound.sampleCount,
soundID: sound.soundID,

View file

@ -1,4 +1,3 @@
var AudioEngine = require('scratch-audioengine');
var util = require('util');
var log = require('../util/log');
@ -389,7 +388,7 @@ RenderedTarget.prototype.getCostumeIndexByName = function (costumeName) {
*/
RenderedTarget.prototype.getSoundIndexByName = function (soundName) {
for (var i = 0; i < this.sprite.sounds.length; i++) {
if (this.sprite.sounds[i].name == soundName) {
if (this.sprite.sounds[i].name === soundName) {
return i;
}
}

View file

@ -73,7 +73,9 @@ module.exports = [
// Scratch Blocks
'scratch-blocks/dist/vertical.js',
// Renderer
'scratch-render'
'scratch-render',
// Audio
'scratch-audio'
]
},
output: {
@ -101,6 +103,10 @@ module.exports = [
{
test: require.resolve('scratch-render'),
loader: 'expose?RenderWebGL'
},
{
test: require.resolve('scratch-audio'),
loader: 'expose?AudioEngine'
}
])
},