我正在使用flex测试Adobe AIR,我想通过打开的文件对话框播放mp3,我这样做了:
import flash.filesystem.*;
import flash.events.Event;
import flash.media.*;
import mx.core.SoundAsset;
public var loadedFile:File;
public var channel:SoundChannel;
public var song:SoundAsset;
private function loadFile():void {
loadedFile = new File();
loadedFile.browseForOpen("Open multimedia File");
loadedFile.addEventListener(Event.SELECT, fileSelected);
}
private function fileSelected(event:Event):void {
song = new SoundAsset()
song.load(URLRequest(loadedFile.url));
channel = song.play();
}
但是当我尝试打开文件时,在打开文件对话框关闭后,我收到此错误:
TypeError: Error #1034: Type Coercion failed: cannot convert "file:///C:/Users/Kedare/Music/05-Scene%20V%20~%20Prelude.mp3" to flash.net.URLRequest.
我在Google或其他文档中找不到与此相关的任何内容,我发现的所有文档都与使用网址而不是本地文件播放声音有关:(
知道可能出现什么问题?我该怎么办?
谢谢!
答案 0 :(得分:5)
更改
song.load(URLRequest(loadedFile.url));
到
song.load(new URLRequest(loadedFile.url));