Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用cordova录制后获取音频文件_Cordova - Fatal编程技术网

如何在使用cordova录制后获取音频文件

如何在使用cordova录制后获取音频文件,cordova,Cordova,我正在使用cordova媒体插件录制语音。一旦我录制了语音。我想将其发送到服务器。为此,我使用文件上载和文件传输。但我在获取录制的文件时遇到问题。如何获取录制的音频文件?我已经阅读了cordova文件插件文档,但没有正确理解 <html> <head> <script src="cordova.js"></script> <script src="http://ajax.googleapis.

我正在使用cordova媒体插件录制语音。一旦我录制了语音。我想将其发送到服务器。为此,我使用文件上载和文件传输。但我在获取录制的文件时遇到问题。如何获取录制的音频文件?我已经阅读了cordova文件插件文档,但没有正确理解

  <html>   
    <head>
        <script src="cordova.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

    <script>
                var filename;         
                var mediaRec;



            function recordAudio() {
                    filename = "myrecording "+new Date().getTime()+".amr";

                    mediaRec = new Media(filename, onSuccess, onError);
                    mediaRec.startRecord();
            }
             function onSuccess(){}
             function onError(){}
            function stopRecord(){
                 mediaRec.stopRecord();
                 sendAudio();

            }

            function sendAudio(){

              var options = new FileUploadOptions();
                                options.fileKey = "attachmentFileName";
                                options.fileName = filename;
                                options.mimeType="audio/AMR";


                                new FileTransfer().upload(filename,encodeURI("my url"), win, fail, options);


            }
function win(r) {
   alert("success");
    }
   function fail(error) {
     alert("fail");  
     alert(error.code);
    }
        </script>
    </head>
    <body>

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

    </body>
    </html>

var文件名;
var mediaRec;
函数recordAudio(){
filename=“myrecording”+新日期().getTime()+“.amr”;
mediaRec=新媒体(文件名、onSuccess、onError);
mediaRec.startRecord();
}
函数onSuccess(){}
函数onError(){}
函数stopRecord(){
mediaRec.stopRecord();
sendAudio();
}
函数sendAudio(){
var options=new FileUploadOptions();
options.fileKey=“attachmentFileName”;
options.fileName=文件名;
options.mimeType=“audio/AMR”;
新建FileTransfer().upload(文件名、编码URI(“我的url”)、win、fail、options);
}
函数win(r){
警惕(“成功”);
}
功能失败(错误){
警报(“失败”);
警报(错误代码);
}
开始
停止
它的工作原理

<html>
<head>

    <script src="cordova.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script>

        var filename;         
        var mediaRec;
         function recordAudio() {
        filename = "myrecording "+new Date().getTime()+".3gpp";

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


            }
        }, 1000);*/
    }
    function onSuccess(){}
    function onError(){}
     function stopRecord(){
         mediaRec.stopRecord();
         uploadVoice(filename,"");



    }

        function uploadVoice(fileName, dirName) {

    var win = function (r) {
        console.log("Code = " + r.responseCode);
        console.log("Response = " + r.response);
        console.log("Sent = " + r.bytesSent);
    };

    var fail = function(error) {
        alert("An error has occurred");
        alert(error.code);
    };

    // file system fail
    var fsFail = function(error) {
        alert("file system error");

    };

    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 = "fileKey";
            options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1);
            options.mimeType = "Audio/3gpp";
            options.chunkedMode = false;

            var params = new Object();
            params.name = value;
            options.params = params;

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

        }, dirFail);

    };

    // get file system to copy or move image file to
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFileSystem, fsFail);

}


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

</body>

</head>
</html>

var文件名;
var mediaRec;
函数recordAudio(){
filename=“myrecording”+新日期().getTime()+“.3gpp”;
mediaRec=新媒体(文件名、onSuccess、onError);
mediaRec.startRecord();
}
}, 1000);*/
}
函数onSuccess(){}
函数onError(){}
函数stopRecord(){
mediaRec.stopRecord();
上传语音(文件名“”);
}
函数uploadVoice(文件名、目录名){
var win=函数(r){
console.log(“Code=“+r.responseCode”);
console.log(“Response=“+r.Response”);
console.log(“Sent=“+r.bytesent”);
};
var fail=功能(错误){
警报(“发生错误”);
警报(错误代码);
};
//文件系统故障
var fsFail=功能(错误){
警报(“文件系统错误”);
};
var dirFail=函数(错误){
警报(“目录错误”);
};
var-fileURI;
var gotFileSystem=函数(文件系统){
fileSystem.root.getDirectory(目录名{
创建:false
},函数(dataDir){
fileURI=dataDir.toURL();
fileURI=fileURI+'/'+文件名;
var options=new FileUploadOptions();
options.fileKey=“fileKey”;
options.fileName=fileURI.substr(fileURI.lastIndexOf('/')+1);
options.mimeType=“音频/3gpp”;
options.chunkedMode=false;
var params=新对象();
params.name=值;
options.params=参数;
var ft=新文件传输();
ft.upload(fileURI,“我的url”、赢、输、选项);
},dirFail);
};
//获取要将图像文件复制或移动到的文件系统
requestFileSystem(LocalFileSystem.PERSISTENT,0,gotFileSystem,fsFail);
}
开始

停止