Adobe AIR:如何播放本地mp3文件?

时间:2010-02-23 22:27:15

标签: flex actionscript air urlrequest

我正在使用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或其他文档中找不到与此相关的任何内容,我发现的所有文档都与使用网址而不是本地文件播放声音有关:(

知道可能出现什么问题?我该怎么办?

谢谢!

1 个答案:

答案 0 :(得分:5)

更改

song.load(URLRequest(loadedFile.url));

song.load(new URLRequest(loadedFile.url));