{"version":3,"file":"playOnce.mjs","sources":["../../src/utils/playOnce.ts"],"sourcesContent":["import { getInstance } from '../instance';\n\n/**\n * Increment the alias for play once\n * @static\n * @default 0\n */\nlet PLAY_ID = 0;\n\n/**\n * Create a new \"Audio\" stream based on given audio path and project uri; returns the audio object.\n * @memberof utils\n * @param url - Full path of the file to play.\n * @param {Function} callback - Callback when complete.\n * @return New audio element alias.\n */\nfunction playOnce(url: string, callback?: (err?: Error) => void): string\n{\n    const alias = `alias${PLAY_ID++}`;\n\n    getInstance().add(alias, {\n        url,\n        preload: true,\n        autoPlay: true,\n        loaded: (err: Error) =>\n        {\n            if (err)\n            {\n                console.error(err);\n                getInstance().remove(alias);\n                if (callback)\n                {\n                    callback(err);\n                }\n            }\n        },\n        complete: () =>\n        {\n            getInstance().remove(alias);\n            if (callback)\n            {\n                callback(null);\n            }\n        },\n    });\n\n    return alias;\n}\n\nexport { PLAY_ID, playOnce };\n"],"names":[],"mappings":";;AAOA,IAAI,OAAU,GAAA,EAAA;AASd,SAAS,QAAA,CAAS,KAAa,QAC/B,EAAA;AACI,EAAA,MAAM,QAAQ,CAAQ,KAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAEtB,EAAY,WAAA,EAAA,CAAE,IAAI,KAAO,EAAA;AAAA,IACrB,GAAA;AAAA,IACA,OAAS,EAAA,IAAA;AAAA,IACT,QAAU,EAAA,IAAA;AAAA,IACV,MAAA,EAAQ,CAAC,GACT,KAAA;AACI,MAAA,IAAI,GACJ,EAAA;AACI,QAAA,OAAA,CAAQ,MAAM,GAAG,CAAA,CAAA;AACjB,QAAY,WAAA,EAAA,CAAE,OAAO,KAAK,CAAA,CAAA;AAC1B,QAAA,IAAI,QACJ,EAAA;AACI,UAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AAAA,SAChB;AAAA,OACJ;AAAA,KACJ;AAAA,IACA,UAAU,MACV;AACI,MAAY,WAAA,EAAA,CAAE,OAAO,KAAK,CAAA,CAAA;AAC1B,MAAA,IAAI,QACJ,EAAA;AACI,QAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAAA,OACjB;AAAA,KACJ;AAAA,GACH,CAAA,CAAA;AAED,EAAO,OAAA,KAAA,CAAA;AACX;;;;"}