Check for instrument sample before playing

This commit is contained in:
Eric Rosenbaum 2017-11-28 13:15:48 -05:00
parent 421a92cad1
commit 773c167987

View file

@ -602,6 +602,10 @@ class Scratch3MusicBlocks {
const sampleArray = instrumentInfo.samples; const sampleArray = instrumentInfo.samples;
const sampleIndex = this._selectSampleIndexForNote(note, sampleArray); const sampleIndex = this._selectSampleIndexForNote(note, sampleArray);
// If the audio sample has not loaded yet, bail out
if (typeof this._instrumentBufferArrays[inst] === 'undefined') return;
if (typeof this._instrumentBufferArrays[inst][sampleIndex] === 'undefined') return;
// Create the audio buffer to play the note, and set its pitch // Create the audio buffer to play the note, and set its pitch
const context = util.runtime.audioEngine.audioContext; const context = util.runtime.audioEngine.audioContext;
const bufferSource = context.createBufferSource(); const bufferSource = context.createBufferSource();