2016-09-17 81 views
0

我正在使用cordova媒體插件來錄製voice.Once我記錄它。我想把它發送到服務器。爲此,我正在使用FileUpload和FileTransfer.But我面臨着獲取錄製文件的問題。如何獲取錄製的音頻文件?我已經通過cordova文件插件文檔,但沒有正確理解。我發現這個錯誤代碼1我使用科爾多瓦和PHP,它不爲我工作,你可以幫助請。傳輸音頻到服務器cordova

<html> 
<head> 
    <script src="cordova.js"></script> 
    <script src="mvc/js/jquery.min.js"></script> 
    <script> 
      var filename;   
     var mediaRec; 
     function recordAudio() { 
     filename = new Date().getTime(); 

     mediaRec = new Media(filename, onSuccess, onError); 
     mediaRec.startRecord(); 


    } 
    function onSuccess(){ 

     alert("onSuccess " +filename); 
    } 
    function onError(){} 
    function stopRecord(fileName){ 

     mediaRec.stopRecord(); 
     uploadVoice(filename,""); 


    } 


     function uploadVoice(fileName, dirName) { 

    var win = function (r) { 

     alert("Code = " + r.responseCode); 
     console.log("Response = " + r.response); 
     console.log("Sent = " + r.bytesSent); 
    }; 

    var fail = function(error) { 

     alert("fail "+error.code); 
     alert("Source = " + error.source); 
     alert("Target = " + error.target) 
}; 

    // file system fail 
    var fsFail = function(error) { 
     alert("file system error"); 
    //alert("fsfail "+error.code); 
    }; 

    var dirFail = function(error) { 
     alert("Directory error"); 


    }; 

    var fileURI; 

    var gotFileSystem = function (fileSystem) { 
     fileSystem.root.getDirectory(dirName, { 
      create: false 

     }, function (dataDir) { 

      fileURI = dataDir.toURL(); 
      fileURI = fileURI + '/' + fileName; 

      var options = new FileUploadOptions(); 
      options.fileKey = "file"; 
      options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1); 
      options.mimeType = "Audio/3gpp"; 

      options.chunkedMode = false; 
options.headers = { Connection: "close" }; 

      var ft = new FileTransfer(); 
     ft.upload(fileURI, "url", win, fail, options); 


     }, dirFail); 

    }; 


    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFileSystem, fsFail); 

} 

    </script> 
<body> 
    <button onClick="recordAudio();">Start</button><br/><br/> 
    <button onClick="stopRecord();">Stop</button> 

</body> 

</head> 
+0

你說「錯誤代碼1」?你從哪裏得到它?哪條線?這是一個彙編問題嗎? – e666

+0

文件傳輸不起作用的問題給我錯誤代碼1 –

回答

0
ft.upload(fileURI, "url", win, fail, options); 

在上面的代碼中,「URL」必須是服務器端腳本可以說PHP腳本應該處理這個文件,應該移動到指定位置的服務器。

請確保您要移動音頻文件的服務器文件夾應具有必要的寫入權限。

+0

url這是我的服務器的位置https://192.168.43.152/../platforms/android/assets/www/upload.php,但給相同的錯誤傳輸文件代碼1 –

相關問題