2015-04-20 43 views
0

我使用這個例子Upload Video Phonegap上傳視頻到一個php腳本的服務器。我使用這個代碼:爲什麼使用Phonegap上傳視頻時應用會崩潰?

<!DOCTYPE html> 
<html> 
<head> 
<title>Capture Video</title> 

<script type="text/javascript" charset="utf-8" src="cordova.js"> </script> 
<script type="text/javascript" charset="utf-8" src="json2.js"></script> 
<script type="text/javascript" charset="utf-8"> 

// Called when capture operation is finished 
// 
function captureSuccess(mediaFiles) { 
    var i, len; 
    for (i = 0, len = mediaFiles.length; i < len; i += 1) { 
     uploadFile(mediaFiles[i]); 
    } 
} 

// Called if something bad happens. 
// 
function captureError(error) { 
    var msg = 'An error occurred during capture: ' + error.code; 
    navigator.notification.alert(msg, null, 'Uh oh!'); 
} 

// A button will call this function 
// 
function captureVideo() { 
    // Launch device video recording application, 
    // allowing user to capture up to 2 video clips 
    navigator.device.capture.captureVideo(captureSuccess, captureError, {limit: 2}); 
} 

// Upload files to server 
function uploadFile(mediaFile) { 
    var ft = new FileTransfer(), 
     path = mediaFile.fullPath, 
     name = mediaFile.name; 

    ft.upload(path, 
     "http://my.domain.com/upload.php", 
     function(result) { 
      console.log('Upload success: ' + result.responseCode); 
      console.log(result.bytesSent + ' bytes sent'); 
     }, 
     function(error) { 
      console.log('Error uploading file ' + path + ': ' + error.code); 
     }, 
     { fileName: name }); 
} 

</script> 
</head> 
<body> 
    <button onclick="captureVideo();">Capture Video</button> <br> 
</body> 
</html> 

一旦我停止視頻,我點擊「保存」,應用程序凍結和崩潰後。什麼可能是錯誤的?我已經在幾個設備上測試過它,因爲可能有些設備不能支持它,但仍然可以。即使我在1秒後或10秒後停止視頻,該應用程序崩潰。奇怪的是,該應用程序崩潰後,該視頻在Gallery中。

PHP腳本效果很好,因爲我可以發送照片,效果很好,所以我不認爲問題來自它。

有什麼建議嗎?

+0

在capture-media插件示例中,成功命令如下所示:'navigator.device.capture.captureVideo( CaptureCB captureSuccess,CaptureErrorCB captureError,[CaptureVideoOptions options] );' – Sithys

+0

這個代碼是來自API文檔,它必須工作......並且{limit:2}是一個選項,如果我沒有錯誤 – AshBringer

+0

這個例子的工作原理還是我不能使它工作? – AshBringer

回答

1

好的我只是在這個答案中做出了修改:Phonegap video capture crashes並且應用程序不再崩潰,我可以用wireshark看到發送給服務器的東西,即使vid沒有得到很好的接收,但這是另一個問題。

編輯:

更好地使用這個功能:

function uploadFile(mediaFile) { 
    var ft = new FileTransfer(), 
     path = mediaFile.fullPath, 
     name = mediaFile.name; 
    var options = new FileUploadOptions(); 
    options.mimeType = "video/mpeg"; 
    options.fileName = name; 
    options.chunkedMode = true; 

    ft.upload(path, 
     "http://192.154.23.51/upload.php", 
     function(result) { 
      console.log('Upload success: ' + result.responseCode); 
      console.log(result.bytesSent + ' bytes sent'); 
     }, 
     function(error) { 
      console.log('Error uploading file ' + path + ': ' + error.code); 
     }, 
     options); 
} 

我現在可以成功地接收視頻。

+0

ionic.bundle.js:25642 TypeError:無法讀取undefined屬性'capture' –

相關問題