Files
blockly/demos/codelab/completed/finish/scripts/music_maker.js
Ewa d45d42dad7 Initial checkin for the code for Blockly for the Web codelab (#1273)
* Add Blockly for the Web codelab code

* Adding licences and comments as per review

* Renaming a4/b4 sounds to a5/b5

* Define blocks with defineBlocksWithJsonArray istead of jsonInit
2017-09-21 10:22:47 -07:00

34 lines
999 B
JavaScript

/**
* Copyright 2017 Google Inc.
* https://developers.google.com/blockly/
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const MusicMaker = {
queue_: [],
player_: new Audio(),
queueSound: function(soundUrl) {
this.queue_.push(soundUrl);
},
play: function() {
let next = this.queue_.shift();
if (next) {
this.player_.src = next;
this.player_.play();
}
},
};
MusicMaker.player_.addEventListener(
'ended', MusicMaker.play.bind(MusicMaker));