In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

Tips > Base64 to Sound

Base64エンコードされた mp3 ファイルをSoundに変換します。

flash.media.Sound 型に追加されたloadCompressedDataFromByteArray( byteArray, byteArray.length ) 関数を使っています。

base64Decoder.decode() で復号化
base64Decoder.toByteArray() でByteArray型に変換
byteArray.position = 0 で読込位置を初期化
loadCompressedDataFromByteArray() で再生出来る状態にする
Get Adobe Flash player
by 110100110101101 12 Jun 2016
/**
 * Copyright 110100110101101 ( http://wonderfl.net/user/110100110101101 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/9H2S
 */

package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.text.TextField;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            var textField:TextField = new TextField();
            textField.text = "click me. play();";
            addChild( textField );
            
            // !
            sound = new Base64MP3Sound( base64Code );
            stage.addEventListener( MouseEvent.MOUSE_DOWN, function( event:MouseEvent ):void{ sound.play()} );
            // !
        }
        private var sound:Base64MP3Sound;
    }
}


   
    
    
    import flash.events.Event;
    import flash.media.Sound;
    import flash.utils.ByteArray;
    import mx.utils.Base64Decoder;
    class Base64MP3Sound extends Sound{
        public function Base64MP3Sound( data:String ):void{
            loadMP3( data );
        }
        public function loadMP3( data:String ):void{
            decoder.decode( data )
            byteArray = decoder.toByteArray()
            byteArray.position = 0;
            loadCompressedDataFromByteArray( byteArray, byteArray.length );
        }
        public var decoder:Base64Decoder = new Base64Decoder();
        public var byteArray:ByteArray = new ByteArray();
    }
    
    
    
    
    
    const base64Code:String = "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VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgCdARIDG0Q/cGAAQGNoh+4MAAR4hzenhGewjxDm9PCM9lVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVyy2W3baxgACvFCH4PWEYGOoFeciIFbpfFlSxZeG+5KjQeLoG2LWGRoaLoG3b7qWGTKGBg5+yhgYNHL7LZf7AdTllstu21jAAFeKEPwesIwMdQK85EQK3S+LKliy8N9yVGg8XQNsWsMjQ0XQNu33UsMmUMDBz9lDAwaOX2Wy/2A6lMQU1FMy45OC40VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IAgQ/yAyi7aekafkBlF209I0/AAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";