UNPKG

starling-framework

Version:

A fast, productive library for 2D cross-platform development.

91 lines (74 loc) 3.43 kB
// Class: starling.assets.SoundFactory var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this $global.Object.defineProperty(exports, "__esModule", {value: true}); var __map_reserved = {}; // Imports var $hxClasses = require("./../../hxClasses_stub").default; var $hxEnums = require("./../../hxEnums_stub").default; var $import = require("./../../import_stub").default; var $extend = require("./../../extend_stub").default; function starling_assets_AssetFactory() {return require("./../../starling/assets/AssetFactory");} function openfl_media_Sound() {return $import(require("openfl/media/Sound"));} function openfl_utils_ByteArray() {return $import(require("openfl/utils/ByteArray"));} function starling_utils_ByteArrayUtil() {return require("./../../starling/utils/ByteArrayUtil");} function js_Boot() {return require("./../../js/Boot");} function js__$Boot_HaxeError() {return require("./../../js/_Boot/HaxeError");} function openfl_errors_Error() {return $import(require("openfl/errors/Error"));} function Std() {return require("./../../Std");} // Constructor var SoundFactory = function() { (starling_assets_AssetFactory().default).call(this); this.addMimeTypes(["audio/mp3","audio/mpeg3","audio/mpeg","audio/ogg"]); this.addExtensions(["mp3","mpeg","ogg","wav"]); } // Meta SoundFactory.__name__ = "starling.assets.SoundFactory"; SoundFactory.__isInterface__ = false; SoundFactory.__super__ = (starling_assets_AssetFactory().default); SoundFactory.prototype = $extend((starling_assets_AssetFactory().default).prototype, { canHandle: function(reference) { if(((reference.get_data()) instanceof (openfl_media_Sound().default)) || (starling_assets_AssetFactory().default).prototype.canHandle.call(this,reference)) { return true; } else if(((reference.get_data()) instanceof (openfl_utils_ByteArray().default))) { var byteData = reference.get_data(); if(!(starling_utils_ByteArrayUtil().default).startsWithBytes(byteData,SoundFactory.MAGIC_NUMBERS_A)) { return (starling_utils_ByteArrayUtil().default).startsWithBytes(byteData,SoundFactory.MAGIC_NUMBERS_B); } else { return true; } } else { return false; } }, create: function(reference,helper,onComplete,onError) { var sound = null; try { if(((reference.get_data()) instanceof (openfl_media_Sound().default))) { sound = (js_Boot().default).__cast(reference.get_data() , (openfl_media_Sound().default)); } else { var bytes = ((reference.get_data()) instanceof (openfl_utils_ByteArray().default)) ? reference.get_data() : null; if(bytes != null) { sound = new (openfl_media_Sound().default)(); sound.loadCompressedDataFromByteArray(bytes,bytes.length); } } onComplete(reference.get_name(),sound); } catch( e ) { var e1 = ((e) instanceof (js__$Boot_HaxeError().default)) ? e.val : e; if(((e1) instanceof (openfl_errors_Error().default))) { onError("Could not load sound data: " + e1.message); return; } else { onError("Could not load sound data: " + (Std().default).string(e1)); return; } } } }); SoundFactory.prototype.__class__ = SoundFactory.prototype.constructor = $hxClasses["starling.assets.SoundFactory"] = SoundFactory; // Init // Statics SoundFactory.MAGIC_NUMBERS_A = [255,251] SoundFactory.MAGIC_NUMBERS_B = [73,68,51] // Export exports.default = SoundFactory;