window["require_setup"](module);
//
///
import {audio as naudio} from "teaclient_connection";
import * as paths from "path";
namespace audio.sounds {
export async function play_sound(file: sound.SoundFile) : Promise {
await new Promise((resolve, reject) => {
let pathname = paths.dirname(decodeURIComponent(location.pathname));
if(pathname[0] === '/' && pathname[2] === ':') //e.g.: /C:/test...
pathname = pathname.substr(1);
const path = paths.join(pathname, file.path);
console.log(path);
naudio.sounds.playback_sound({
callback: (result, message) => {
if(result == naudio.sounds.PlaybackResult.SUCCEEDED)
resolve();
else
reject(naudio.sounds.PlaybackResult[result].toLowerCase() + ": " + message);
},
file: path,
volume: file.volume
});
});
}
}
Object.assign(window["audio"] || (window["audio"] = {} as any), audio);