`

ios -> cordova record 录音

 
阅读更多

 

<!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 language="javascript" src="./js/cordova_ios.js" > </script>
  
 	<script language="javascript" src="./cordova_plugins.js" > </script>
    
    <style type="text/css">
        input{width:200px;height:50px;display:block}
    </style>
        

</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 = "documents://myrecording.wav";
        
        var recordFIlePath='';
        
        document.addEventListener("deviceready", function onDeviceReady() {
            window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, function fail(){});
            }, false);

            var gotFS = function (fileSystem) {
                fileSystem.root.getFile("myrecording.wav",
                { create: true, exclusive: false }, //create if it does not exist
                function success(entry) {
                    recordFIlePath = entry.toURI();
                },
                function fail() {}
            );
        };




 
        
        //开始录音
        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() {
            alert('success');
            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) {
                alert("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 = "myrecording.wav";
            options.mimeType = "audio/wav";
            
            var ft = new FileTransfer();
            ft.upload(recordFIlePath, 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>

 

需要添加 cordova 的 file  和 filetransfer 插件

 

 

分享到:
评论

相关推荐

    cordova-screenshot cordova截屏插件

    cordova-screenshot cordova截屏插件 document.addEventListener("deviceready", init, false); function init() { document.querySelector("#share").addEventListener("touchend", function() { navigator....

    cordova-plugin-ios-xhr:Cordova iOS 6+ File XHR插件

    科尔多瓦-插件-iOS-XHRcordova-ios 6+ File XHR插件关于最初,此插件是其他两个插件的合并,并与cordova-ios 6+兼容。 自从进行了修改以来, 的代码现在已被完全删除。 它保留在此处作为原始参考。 如果时间允许,...

    cordova-ios-3.7

    `cordova-ios-3.7` 是 Cordova 针对 iOS 平台的一个特定版本,主要针对的是 iOS 3.7 系统。这个版本的 Cordova 提供了在 iOS 设备上运行 Web 应用的能力,同时也包含了详细的说明和官方文档,帮助开发者理解和使用这...

    在存在iOS项目添加Cordova实现H5调用设备相册

    cordova plugin add cordova-plugin-camera ``` 这个插件提供了JavaScript API,使得Web代码能够与iOS的相机和相册交互。 在你的HTML文件中,你可以使用以下JavaScript代码来调用相机插件选择照片: ```javascript...

    BudgetApp:混合预算应用程序 ->cordova、angularjs

    **BudgetApp: 混合预算应用程序 - cordova与AngularJS的融合** BudgetApp是一款基于混合开发技术构建的预算管理应用程序。它利用了Cordova框架的特性,将Web应用程序的功能与原生移动设备的能力相结合,使得用户...

    ios-iOS关于Cordova运用插件JiaCordova.zip

    JiaCordova是为了让项目对于Cordova引入更加方便快捷的一个封装式插件,插件中已经集成的关于Cordova跟其一些常用的第三库,对于Cordova的配置模板也进行整理,且封装从服务端下载ZIP包进行解压到沙盒文件夹中,利用...

    vue-cli-plugin-cordova:Vue Cli 3 Cordova插件

    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

    cordova-plugin-AppUpgrade:cordova ios版本更新检查插件

    cordova-plugin-AppUpgrade cordova ios版本更新检查插件 进行cordova hybrid app 开发时,不可避免的遇到检查app更新的问题,其实已经有一些类似的插件,比如org.ssgroup.sope.cordova.upgrade,但是 这些插件依赖...

    Android代码-cordova-plugin-app-update

    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 ...

    vue-cordova:Cordova的Vue.js插件

    于插件 注意:兼容每个版本的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 如

    cordova-ios-3.8.0

    Cordova iOS 3.8.0 版本是针对苹果 iOS 平台的一个特定发行版,包含了开发 iOS 应用所需的全部资源和工具。这个版本的发布为开发者提供了稳定的基础,以便于在 iOS 设备上构建和运行 Cordova 应用。 在 Cordova iOS...

    cordova-plugin-iosrtc:公开WebRTC W3C API的Cordova iOS插件

    科尔多瓦-插件-iosrtc iOS插件公开了 。 有关cordova-plugin-iosrtc的问题和讨论的。 用于报告问题并请求新功能(请不要将Bug Tracker用于问题或问题,... cordova-ios &gt; = 4.5.1 第三方支持的图书馆 WebRTC W3C v1.

    cordova-plugin-mmedia:千禧一代媒体广告的CordovaPhoneGap

    mMedia(Millennial Media)插件专业版 通过JavaScript本地在...如果与Intel XDK一起使用:项目-&gt; CORDOVA 3.X混合移动应用程序设置-&gt;插件和权限-&gt;第三方插件-&gt;添加第三方插件-&gt;从Web获取插件,输入: Name: mMediaP

    cordova-plugin-wkwebviewxhrfix:Cordova iOS插件可通过带有Cordova iOS 6+支持的WKWebView通过XHR修复本地文件访问

    cordova plugin add @ahovakimyan/cordova-plugin-wkwebviewxhrfix 或从github安装 cordova plugin add https://github.com/AraHovakimyan/cordova-plugin-wkwebviewxhrfix 笔记 此插件不依赖于其他任何插件,并且...

    instabug-cordova-plugin-ios-framework:instabug-cordova-plugin-ios-framework

    instabug-cordova-plugin-ios-framework 包含iOS Instabug.framework和Instabug.bundle文件的存储库。 这是由于npm问题破坏了符号链接。 ( ) SDK版本:1.7

    cordova-res:本地Cordova Iconsplash屏幕资源生成工具

    cordova-res是为与Cordova一起使用而开发的,但是支持Capacitor和其他本机运行时。 安装 $ npm install -g cordova-res 用法 cordova-res期望Cordova项目的结构如下: resources/ ├── icon.png └── splash....

    前端项目-ng-cordova.zip

    关于Cordova,开发者需要了解如何配置项目,如编辑`config.xml`文件来定义应用的基本信息、设置平台和权限,以及安装和管理各种插件,如`cordova plugin add cordova-plugin-camera`添加相机插件。此外,Cordova的`...

    ionic 借助插件 cordova-plugin-wechat cordova-plugin-qqsdk 实现微信分享 QQ分享

    本文将详细介绍如何借助 `cordova-plugin-wechat` 和 `cordova-plugin-qqsdk` 插件实现在 Ionic 应用中实现微信和 QQ 的分享功能。 1. **申请 AppID** 在使用微信和 QQ 分享功能之前,你需要在相应的开放平台上...

    Cordova 3.x 源码分析(2) -- cordova.js概要

    尽管它的核心功能是相同的,但针对不同平台(如iOS、Android、Windows Phone等)可能需要进行微调以适应各自的API和编程模型。因此,`cordova.js`需要在打包应用时根据目标平台进行适当的定制。 7. 错误处理和调试...

    ios-原生工程引入Cordova工程demo.zip

    有些项目一开始是原生开发的,后期可能需要进行混合开发。这里提供一个在原生工程中引入Cordova工程的demo。具体导入方法可以参考我在csdn上写的博文http://blog.csdn.net/e20914053/article/details/50170487

Global site tag (gtag.js) - Google Analytics