Adobe AIR: как воспроизвести локальный mp3-файл? - PullRequest
1 голос
/ 24 февраля 2010

Я тестирую Adobe AIR с помощью flex, и я хотел воспроизвести 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 или другой документации, все документы, которые я нахожу, связаны с воспроизведением звука с использованием URL, а не локальных файлов: (

Есть идеи, в чем может быть проблема? Что я могу сделать?

Спасибо!

1 Ответ

5 голосов
/ 24 февраля 2010

Изменение

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

до

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