pxt-ev3/sim/state/sounds.ts

34 lines
622 B
TypeScript
Raw Normal View History

2017-10-30 17:25:58 +00:00
namespace pxsim.music {
export function fromWAV(buf: RefBuffer) {
return incr(buf)
}
2017-12-13 16:31:42 -08:00
2017-12-15 10:42:44 -08:00
export function stopAllSounds() {
2017-12-13 16:31:42 -08:00
SoundMethods.stop()
}
2017-10-30 17:25:58 +00:00
}
namespace pxsim.SoundMethods {
2017-12-13 16:31:42 -08:00
let audio: HTMLAudioElement;
2017-10-30 17:25:58 +00:00
export function buffer(buf: RefBuffer) {
return incr(buf)
}
export function play(buf: RefBuffer) {
return pxsim.AudioContextManager.playBufferAsync(buf);
2017-10-30 17:25:58 +00:00
}
2017-12-13 16:31:42 -08:00
export function stop() {
2017-12-14 09:41:01 -08:00
return new Promise<void>(resolve => {
if (audio) {
audio.pause();
}
2018-01-04 12:20:31 -08:00
resolve();
2017-12-14 09:41:01 -08:00
})
2017-12-13 16:31:42 -08:00
}
2017-10-30 17:25:58 +00:00
}