<!DOCTYPE html> <html lang="en"> <head> <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" id="viewport" name="viewport"> <meta charset="utf-8"> <title></title> <script type="text/javascript" src="./js/jquery-1.11.1.js"></script> <script type="text/javascript" src="./js/jQuery.md5.js"></script> <script language="javascript" src="./js/cordova.js" > </script> </head> <body> <div class="app"> <h1>Apache Cordova</h1> <div id="deviceready" class="blink"> <p id="test">操作提示</p><!--这里会显示录音操作中的各个变化--> <input type="button" value="录音" id="luyin" /> <input type="button" value="录音完成" id="luyin_finish" /> <input type="button" value="录音播放" id="luyin_bofang" /> <input type="button" value="录音上传 " id="luyin_upload" /> </div> </div> <script type="text/javascript"> var mediaRec; var recTimeMax = 10; var recTime = 0; var recordFile = "myrecording.amr"; //开始录音 function recordAudio() { var src = recordFile; mediaRec = new Media(src, onSuccess, onError); // Record audio mediaRec.startRecord(); // Stop recording after 10 sec recTime = 0; var recInterval = setInterval(function() { recTime = recTime + 1; if (recTime >= recTimeMax) { clearInterval(recInterval); mediaRec.stopRecord(); mediaRec.release(); } }, 1000); } // onSuccess Callback // function onSuccess() { console.log("recordAudio():Audio Success"); } // onError Callback // function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); } //========== //录音完成 function recordFinish() { recTime = recTimeMax; } //播放audio function playAudio(url) { // Play the audio file at url var my_media = new Media(url, // success callback function() { console.log("playAudio():Audio Success"); }, // error callback function(err) { console.log("playAudio():Audio Error: "+err); }); // Play audio my_media.play(); } //\\ //上传 function uloadRecord(){ 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: Code = " + error.code); console.log("upload error source " + error.source); console.log("upload error target " + error.target); } var options = new FileUploadOptions(); options.fileKey = "file"; options.fileName = recordFile; options.mimeType = "audio/wav"; var ft = new FileTransfer(); ft.upload('/sdcard/'+recordFile, encodeURI("http://192.168.1.101/upload_record/index.php"), win, fail, options); } //为按钮绑定 touchstart(点击) 事件 $("#luyin").click(function(){ //实例化录音类 recordAudio(); //开始录音 $("#test").html("开始录音"); }); //录音 完成 $('#luyin_finish').click(function(){ recordFinish(); }); //录音 播放 $('#luyin_bofang').click(function(){ playAudio(recordFile); }); //录音 上传 $('#luyin_upload').click(function(){ uloadRecord() }); </script> </body> </html>
upload.php
<?php // Where the file is going to be placed $target_path = "records/"; /* Add the original filename to our target path. Result is "uploads/filename.extension" */ $target_path = $target_path . basename( $_FILES['file']['name']); if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) { echo "The file ". basename( $_FILES['file']['name']). " has been uploaded"; } else{ echo "There was an error uploading the file, please try again!"; echo "filename: " . basename( $_FILES['file']['name']); echo "target_path: " .$target_path; } ?>
manifest 的权限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
附件 是 2.91 版本的 js 和 jar
*** 解决 android 录音 在 ios 不能播放的问题,
android 录音格式 改为 mp3
修改 cordova media 插件源码
android/java/org.apache.cordova/media/AudioPlayer
修改 startRecording 方法
this.recorder.setAudioSource(MediaRecorder.AudioSource.MIC); this.recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); this.recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
这样就可以了, 亚达\(^o^)/~
相关推荐
预算应用 v1.0 混合预算应用程序 - >cordova,在android 4.1中测试的angularjs
cordova-plugin-app-update App updater for Cordova/PhoneGap Demo Try it yourself: Just clone and install this demo. cordova-plugin-app-update-DEMO :tada: 如果喜欢它,请别忘了给我一颗鼓励的星 Support ...
cordova-screenshot cordova截屏插件 document.addEventListener("deviceready", init, false); function init() { document.querySelector("#share").addEventListener("touchend", function() { navigator....
cordova-plugins-activity cordova调用安卓原生activity插件 使用简介 JS端使用方式 //sendData表示要从js端发送到原生activity的数据,需用json对象传输 var sendData = { id:10001, name:"Simon", age:28 }; ...
Android-cordova-plugin-background-mode.zip,使应用程序在后台运行,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。
Cordova Background Plugin Plugin for the Cordova framework to perform infinite background execution. Most mobile operating systems are multitasking capable, but most apps dont need to run while in ...
ionic 借助插件 cordova-plugin-wechat cordova-plugin-qqsdk 实现微信分享 QQ分享 微博分享
Cordova插件-用于播放海康监控视频
cordova plugin add https://github.com/nchutchind/cordova-plugin-streaming-media iOS specifics Uses the AVPlayerViewController Tested on iOS 12 or later Android specifics Uses VideoView and ...
cordova-res是为与Cordova一起使用而开发的,但是支持Capacitor和其他本机运行时。 安装 $ npm install -g cordova-res 用法 cordova-res期望Cordova项目的结构如下: resources/ ├── icon.png └── splash....
vue-cli-plugin-cordova ...$ npm run cordova-prepare # prepare for build (you can run this command, when you checkouted your project from GIT, it's like npm install) 安卓 $ npm run cor
1,cordova-android-3.3.0 源码 2,cordova-android-3.3.0 plugins源码 3,cordova-android-3.3.jar https://git-wip-us.apache.org/repos/asf?s=cordova config.xml请移步看文章:...
前端项目-ng-cordova,Cordova with AngularJS Goodness
cordova-android-3.6.4.tgz - TAR+GZIP 压缩文件, 解包大小为 3,618,518 字节
cordova-android-3.5.0
gulp-cordova-android-versionCode 在cordova项目的config.xml中设置android versionCode。 安装 npm install --save-dev gulp-cordova-android-versionCode 用法 var gulp = require ( 'gulp' ) , create = ...
安卓v4支持库cordova-plugin-android-support-v4-jar-master.zip
高版本的cordova不再提供jar包,手动编译亲测可用,win10系统,Eclipse-23.0.2,android-26,带常用插件。详细请见《基于win10的Android + Eclipse-8.0.2 + PhoneGap-8.0.0 环境配置》...
高版本的cordova不再提供jar包,手动编译亲测可用,win10系统,Eclipse-23.0.2,android-22。详细请见 《基于win10的Android + Eclipse-8.0.2 + PhoneGap-8.0.0 环境配置》
于插件 注意:兼容每个版本的VueJS(1.x和2.x)... cordova-plugin-camera cordova-plugin-device cordova-plugin-geolocation cordova-plugin-contacts cordova-plugin-chrome-apps-sockets-tcp cordova-plugin-sms 如