Ich frage mich, wie kann ich mit mp3 arbeiten, die zu Flash über fileReference.browse() Methode geladen wurde?
Derzeit habe ich eine Lash-Anwendung, die mp3-Datei von der lokalen Festplatte auf Flash laden kann und bieten eine Option zum Speichern mp3-Datei, die zurück auf die Festplatte geladen wurde. Aber ich kann nicht finden, den Weg, um mit mp3, die geladen wurde arbeiten. Ich habe von einem Flash-basierten Editor gehört, der in Aviary verfügbar sein wird (http://aviary.com/blog/posts/aviary-acquires-digimix), es gibt also eine Möglichkeit, mit mp3 in Flash zu arbeiten, aber wie?
Hier ist mein Code:
import flash.net.FileReference;
import flash.net.FileFilter;
import flash.utils.ByteArray;
import flash.display.MovieClip;
import flash.net.*;
import flash.events.*;
import flash.media.Sound;
import flash.media.SoundChannel;
var fileReference:FileReference;
var myChannel:SoundChannel;
var mySound:Sound;
var mySprite:Sprite;
var mySprite2:Sprite;
mySound=new Sound();
myChannel=new SoundChannel();
load_btn.addEventListener (MouseEvent.CLICK, onLoadClick);
unload_btn.addEventListener (MouseEvent.CLICK, onUnloadClick);
function onLoadClick ( event:MouseEvent):void
{
fileReference=new FileReference();
var allTypeFilter:FileFilter = new FileFilter("mp3: (*.mp3)","*.mp3");
fileReference.browse([allTypeFilter]);
fileReference.addEventListener(Event.SELECT, selectHandler);
}
function selectHandler(event:Event):void
{
fileReference.removeEventListener(Event.SELECT, selectHandler);
fileReference.addEventListener(Event.COMPLETE, loadCompleteHandler);
fileReference.load();
}
function loadCompleteHandler(event:Event):void
{
fileReference.removeEventListener(Event.COMPLETE, loadCompleteHandler);
var loader:Loader = new Loader();
//loader.contentLoaderInfo.addEventListener(Event.COMPLETE, startPlay);
loader.loadBytes(fileReference.data);
}
function onUnloadClick (event:MouseEvent)
{
trace(fileReference.data);
fileReference.save(fileReference.data, "done.mp3");
}
Vielen Dank im Voraus.