在iOS上的applicationStorageDirectory中保存视频

时间:2012-01-31 17:33:05

标签: ios actionscript-3 video air osmf

我想将视频保存到iPad的applicationStorageDirectory中。我的代码运行良好,但在iPad上,它不起作用,它向我发送一个带有错误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();

它向我发送错误16的错误。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

不确定这对你是否有用,但我发现如果我这样做:

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

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

然后根据:

构造元素
var _resource:URLResource = new new URLResource(_url);

OSMF似乎能够识别该文件。

希望有所帮助:)