我想将视频保存到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的错误。
有什么想法吗?
谢谢!
答案 0 :(得分:2)
不确定这对你是否有用,但我发现如果我这样做:
var _url:String = File.applicationStorageDirectory.resolvePath(FILE_NAME).nativePath;
_url = "file:///" + _url;
然后根据:
构造元素var _resource:URLResource = new new URLResource(_url);
OSMF似乎能够识别该文件。
希望有所帮助:)