0

我想将视频保存到我 iPad 的 applicationStorageDirectory 中。我的代码运行良好,但在 iPad 上,它不起作用,它向我发送一个带有 errorid 16 的 MediaErrorEvent。我认为这是由于访问问题,但这很奇怪,因为我成功写入了 .flv文件。

我将 urlStream 保存到一个文件中:

// get bytes
fileData = new ByteArray();
urlStream.readBytes(fileData, 0, urlStream.bytesAvailable);
// saving
var file : File = File.applicationStorageDirectory.resolvePath(FILE_NAME);
var fileStream : FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeBytes(fileData);
fileStream.close();

这很好用,我已经能够在越狱的 iPad 上观看 flv 视频。

但是当我想用 OSMF 播放我的视频时:

var file : File = File.applicationStorageDirectory.resolvePath(FILE_NAME);
var netLoader : NetLoader = new NetLoader();
var media : VideoElement = new VideoElement(new URLResource(file.nativePath), netLoader);
mediaPlayer = new MediaPlayer(media);
mediaPlayer.addEventListener(LoadEvent.BYTES_TOTAL_CHANGE, appendText);
mediaPlayer.addEventListener(MediaErrorEvent.MEDIA_ERROR, appendText);
var display : MediaContainer = new MediaContainer();

它向我发送了一个错误 ID 为 16 的错误。

任何想法 ?

谢谢 !

4

1 回答 1

2

不确定这是否适合你,但我发现如果我做类似的事情:

var _url:String = File.applicationStorageDirectory.resolvePath(FILE_NAME).nativePath;   

_url = "file:///" + _url;

然后基于以下构造元素:

var _resource:URLResource = new new URLResource(_url);

OSMF 似乎能够识别该文件。

希望有帮助:)

于 2012-07-12T15:55:40.423 回答