mirror of
https://github.com/scratchfoundation/scratch-vm.git
synced 2024-12-24 06:52:40 -05:00
Use sound returned from audio engine to set sample rate and sample count since the sound gets resampled by the audio engine. Also, check for an mp3 format in deserialize assets, and otherwise default to wav.
This commit is contained in:
parent
0e0d09c235
commit
dca9270730
2 changed files with 9 additions and 4 deletions
|
@ -22,6 +22,13 @@ const loadSoundFromAsset = function (sound, soundAsset, runtime) {
|
||||||
{data: soundAsset.data}
|
{data: soundAsset.data}
|
||||||
)).then(soundId => {
|
)).then(soundId => {
|
||||||
sound.soundId = soundId;
|
sound.soundId = soundId;
|
||||||
|
// Set the sound sample rate and sample count based on the
|
||||||
|
// the audio buffer from the audio engine since the sound
|
||||||
|
// gets resampled by the audio engine
|
||||||
|
const soundBuffer = runtime.udioEngine.getSoundBuffer(soundId);
|
||||||
|
sound.rate = soundBuffer.sampleRate;
|
||||||
|
sound.sampleCount = soundBuffer.length;
|
||||||
|
|
||||||
return sound;
|
return sound;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -38,10 +38,8 @@ const deserializeSound = function (sound, runtime, zip, assetFileName) {
|
||||||
log.error(`Could not find sound file associated with the ${sound.name} sound.`);
|
log.error(`Could not find sound file associated with the ${sound.name} sound.`);
|
||||||
return Promise.resolve(null);
|
return Promise.resolve(null);
|
||||||
}
|
}
|
||||||
let dataFormat = null;
|
const dataFormat = sound.dataFormat.toLowerCase() === 'mp3' ?
|
||||||
if (sound.dataFormat.toLowerCase() === 'wav') {
|
storage.DataFormat.MP3 : storage.DataFormat.WAV;
|
||||||
dataFormat = storage.DataFormat.WAV;
|
|
||||||
}
|
|
||||||
if (!JSZip.support.uint8array) {
|
if (!JSZip.support.uint8array) {
|
||||||
log.error('JSZip uint8array is not supported in this browser.');
|
log.error('JSZip uint8array is not supported in this browser.');
|
||||||
return Promise.resolve(null);
|
return Promise.resolve(null);
|
||||||
|
|
Loading…
Reference in a new issue