前提・実現したいこと
MonacaでiPhoneアプリの開発を行っています。
https://cloud6.net/so/cordova/1863708
こちらのページで紹介されている方法とほぼ同じ方法で、
Mediaプラグインで録音したファイルをFileTransferプラグインを使用して
サーバに送信しようとしています。
発生している問題・エラーメッセージ
Mediaプラグインで録音、再生には成功していますが、
送信前に音声ファイル(wav)のファイルサイズを調べると0と出ます。
送信するとサーバ上に指定したファイル名でファイルは生成されますが、
ファイルサイズは0です。
該当のソースコード
Cordova
1 var rootObj; 2 window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, 3 function (fileSystem) { 4 rootObj = fileSystem.root; 5 } 6 ); 7 8 rootObj.getFile($scope.item.localURL, {create: true, exclusive: false}, function(fileEntry) { 9 fileEntry.file(function (file) { 10 var uploadOptions = new FileUploadOptions(); 11 uploadOptions.fileKey = 'file'; 12 uploadOptions.chunkedMode = false; 13 uploadOptions.fileName = "test.wav"; 14 uploadOptions.mimeType = file.type; 15 console.log(file.size + ":" + file.type + ":" + fileEntry.toURL()); 16 fileTransfer.upload(fileEntry.toURL(), uri, uploadSuccess, uploadFail, uploadOptions); 17 }, uploadFail); 18 }, uploadFail);
試したこと
上記「$scope.item.localURL」について、
Cordova
1 media = new Media($scope.item.localURL); 2 media.play();
で再生は可能です。
また、Mediaプラグインで録音したファイルではなく、
適当なテキストを書き込んだテキストファイルの送信であれば、
ファイルサイズも正常だし、サーバ上に正しくファイルが送信されます。
「file.type」は「audio/vnd.wave」と出ます。
ここを直接指定で「audio/wav」「audio/wave」などとしても状況は変わりません。
なぜ再生は出来るのに、ファイルサイズが0になり送信もファイルサイズ0で送信されてしまうのでしょうか…?
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。