2014-01-28 2 views
1

Phone Gap을 사용하여 Android 용 앱을 구현했습니다.JQuery Mobile 서버에 오디오 파일을 보내는 방법

두 개의 버튼 중 하나는 음성 등록이고 다른 하나는 음성 확인입니다.

음성 등록의 경우 전화 갭에서 CaptureAudio를 사용하여 녹음 기능을 구현했습니다. 그것은 훌륭하게 작동합니다.

이제 레코드 파일을 서버에 업로드해야합니다. 나는 Below Code를 사용했다.

function captureSuccess(mediaFiles) { 
var i, len; 
for (i = 0, len = mediaFiles.length; i < len; i += 1) { 
alert(mediaFiles[i]); 
     uploadFile(mediaFiles[i]); 
}  
} 


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


function captureAudio() { 
navigator.device.capture.captureAudio(captureSuccess, captureError, {limit: 3); 
} 

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

console.log('Path is: ' + recordingPath); 

ft.upload(recordingPath, 
      "Webservice URL", 
      function(result) { 
alert("Hi"); 
      console.log('Upload success: ' + result.responseCode); 
      console.log(result.bytesSent + ' bytes sent'); 
      }, 
      function(error) { 
alert("welcome"); 
      console.log('Error uploading file ' + recordingPath + ': ' + error.code); 
      }, 
      { fileName: name }); 

    alert(recordingPath); 
} 

mediaFiles [i]에 "Object Object"가 수신되었다는 경고가 표시됩니다. 업로드 후 응답을받을 수 없습니다.

성공하면 서버에서 오디오 파일에 관한 메시지를받습니다.

또한 오디오 파일 이름을 'utterence'로 보냅니다. 어떻게하면 phonegap과 jquery mobile을 사용하여이 작업을 수행 할 수 있습니까?

+0

recordingPath에 wats der? –

+0

@DiveshSalian ~ 녹음 된 오디오 파일 경로 – vinox

+0

파일 1 개를 업로드 해보십시오. 1 오디오만을 기록하고 체크하는 것을 의미합니다. –

답변

0

나는 비슷한 문제가있는 것을 기억하고 있으며, 문제는 전체 경로를 캡처하고 다른 형식으로 파일 경로를 업로드해야하므로 업로드로 허용되는 형식으로 전체 경로를 수정해야했습니다.

또한 업로드 기능에서 mimeType을 설정해야합니다. 기본값은 image/jpeg입니다. 귀하의 서버가 어떻게 작동하는지 잘 모르겠지만 자체 인증서가 있다면 trustAllHosts를 true로 설정해야합니다.

희망 하시겠습니까?

관련 문제