Actionscript 3 从air android应用程序向facebook上传视频
我正在尝试(现在已经有一段时间)从air for android应用程序向Facebook上传视频。我已经在设备上录制了视频,并将其保存到设备中,视频的路径以字符串形式存储。我被建议将视频转换为Actionscript 3 从air android应用程序向facebook上传视频,actionscript-3,video,air,bytearray,Actionscript 3,Video,Air,Bytearray,我正在尝试(现在已经有一段时间)从air for android应用程序向Facebook上传视频。我已经在设备上录制了视频,并将其保存到设备中,视频的路径以字符串形式存储。我被建议将视频转换为byteArray,并将其传递到as3 Facebook api的FacebookMobile.uploadVideo方法中,我试图这样做,但得到的是353您必须选择一个视频文件进行上传。错误(我想是从Facebook)。 文件到字节数组 public function UICompleteHandle
byteArray
,并将其传递到as3 Facebook api的FacebookMobile.uploadVideo
方法中,我试图这样做,但得到的是353您必须选择一个视频文件进行上传。
错误(我想是从Facebook)。
文件
到字节数组
public function UICompleteHandler(event:MediaEvent):void
{
trace("Welcome back from the camera");
var media:MediaPromise = event.data;
trace("file info "+media.file.url + " - " + media.relativePath + " - " + media.mediaType);
filePath = media.file.url;
trace("Object encoding is: " + inBytes.objectEncoding + "\n\n" + "order file: \n\n");
readFileIntoByteArray(filePath, inBytes);
trace("length 1: "+inBytes.length);
trace("position 1: "+inBytes.position);
inBytes.position = 0; // reset position to beginning
inBytes.uncompress(CompressionAlgorithm.DEFLATE);
trace("position 2: "+inBytes.position);
inBytes.position = 0; //reset position to beginning
}
private function readFileIntoByteArray(fileName:String, data:ByteArray):void
{
var inFile:File = new File(fileName);
trace ("file to byte array "+ inFile.url);
trace ("file name var : "+fileName);
inStream.open(inFile , FileMode.READ);
inStream.readBytes(data);
inStream.close();
}
上传到Facebook(尝试)
当我取消对traceparams.video
的注释时,我得到了大量随机字符,我认为这些字符是byteArray
任何人的指导或帮助都将不胜感激
public function handleUpload(ev:TouchEvent)
{
trace ("posting to facebook - FileName: "+ accessCamera.fileName + " - FilePath: " + accessCamera.filePath);
var params:Object ={
title:'test upload on FB api',
description:'test upload on FB api',
fileName: accessCamera.fileName,
video: accessCamera.inBytes
}
//trace ("params.video = "+params.video);
FacebookMobile.uploadVideo('me/videos', onComplete, params);
}
private function onComplete( result:Object, fail:Object ):void
{
trace("facebook post onComplete called" );
if (result)
{
//result.id is id of post that was just posted
trace ("great");
}
else if (fail)
{
trace("post Failed");
trace('code: '+fail.error.code);
trace('message: '+fail.error.message);
trace('type: '+fail.error.type);
}
}