从air android app上传视频到Facebook

时间:2014-03-14 14:49:55

标签: actionscript-3 video air bytearray

我正在尝试(现在已经有一段时间了)从Android应用程序上传视频到Facebook。我已将视频录制到设备上,将其保存到设备中,并将视频路径存储在字符串中。我被建议将视频转换为byteArray并将其传递到我试图做的as3 Facebook api的FacebookMobile.uploadVideo方法,但我得到353 You must select a video file to upload.错误(来自Facebook我认为) 。
档案to byteArray

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(尝试)

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); 
   }
}

当我取消注释跟踪params.video时,我会收到大量随机字符,我认为这些字符是byteArray的数据 任何人的任何指导或帮助将不胜感激

0 个答案:

没有答案