PhoneGap的媒体API

编程入门 行业动态 更新时间:2024-10-28 18:29:24
本文介绍了PhoneGap的媒体API - 录制和播放音频 - 安卓的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我希望能够记录一些声音,然后必须将其播放的能力。其重要的,我要能customize记录界面。

I'm hoping to record some audio and then have the ability to play it back. Its important for me to be able to customize the record interface.

在下面的例子中记录后,我得到了-1的持续时间,并没有音频播放。

In the below example after recording I get a duration of -1 and no audio is played.

第1步 新增媒体插件

cordova plugin add org.apache.cordova.media

第2步我的code

请注意SRC是穆萨从文档的要求。

Note src is "amr" as requested from docs.

在自适应多速率格式的Andr​​oid设备录制音频。该   指定的文件应该结束了.AMR扩展。

Android devices record audio in Adaptive Multi-Rate format. The specified file should end with a .amr extension.

不过,myrecording.amr并不在我的文件结构存在,我希望它会被创建。

However, "myrecording.amr" does not exist in my file structure as I'm hoping it will be created.

Javascript的

var data = { rec: "" }; $scope.record = function(){ console.log('record'); var src = "myrecording.amr"; data.rec = new Media(src, function() { console.log("recordAudio():Audio Success"); }, function(err) { console.log("recordAudio():Audio Error: "+ err.code); }); data.rec.startRecord(); } $scope.stopRecording = function(){ console.log('stop'); data.rec.stopRecord(); } $scope.playRecording = function(){ console.log('play'); data.rec.play(); } $scope.logDuration = function(){ console.log(data.rec.getDuration()); }

HTML

<button ng-click="record()">Record</button> <button ng-click="stopRecording()">Stop Record</button> <button ng-click="playRecording()">Play Record</button> <button ng-click="logDuration()">Log Duration</button>

输出从上面

没有播放音频时,我点击播放。

No audio is played when I click play.

0 999846 log record 1 001845 log stop 2 002000 log recordAudio():Audio Success 3 004657 log play 4 008989 log -1

任何帮助将是很大的AP preciated。让我知道如果我能回答任何问题。

Any help would be greatly appreciated. Let me know if I can answer any questions.

推荐答案

下面是我的步骤,得到这个工作。

Here are my steps for getting this to work.

ionic start RecordTest blank ionic platform add ios cordova plugin add org.apache.cordova.media

2。创建 RecordTest / WWW / myrecording.wav 3。粘贴低于code。在 RecordTest / WWW / index.html的

2. Create RecordTest/www/myrecording.wav 3. Paste the below code in RecordTest/www/index.html

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> <title></title> <link href="lib/ionic/css/ionic.css" rel="stylesheet"> <link href="css/style.css" rel="stylesheet"> <!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above <link href="css/ionic.app.css" rel="stylesheet"> --> <!-- ionic/angularjs js --> <script src="lib/ionic/js/ionic.bundle.js"></script> <!-- cordova script (this will be a 404 during development) --> <script src="cordova.js"></script> <!-- your app's js --> <!-- <script src="js/app.js"></script> --> <script type="text/javascript" charset="utf-8"> // Wait for PhoneGap to load // document.addEventListener("deviceready", onDeviceReady, false); // Record audio // function recordAudio() { var src = "myrecording.wav"; var mediaRec = new Media(src, onSuccess, onError); // Record audio mediaRec.startRecord(); // Stop recording after 10 sec var recTime = 0; var recInterval = setInterval(function() { recTime = recTime + 1; setAudioPosition(recTime + " sec"); if (recTime >= 3) { clearInterval(recInterval); mediaRec.stopRecord(); mediaRec.play(); } }, 1000); } // PhoneGap is ready // function onDeviceReady() { recordAudio(); } // onSuccess Callback // function onSuccess() { console.log("recordAudio():Audio Success"); } // onError Callback // function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); } // Set audio position // function setAudioPosition(position) { document.getElementById('audio_position').innerHTML = position; } </script> </head> <body ng-app="starter"> <ion-pane> <ion-header-bar class="bar-stable"> <h1 class="title">Ionic Blank Starter</h1> </ion-header-bar> <ion-content> <title>Device Properties Example</title> <!-- <script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script> --> <p id="media">Recording audio...</p> <p id="audio_position"></p> </ion-content> </ion-pane> </body> </html>

4。运行离子的emulate IOS

以上应该工作。

4. Run ionic emulate ios

The above should work.

注意:这取决于你正在开发的平台上的扩展变化

更多推荐

PhoneGap的媒体API

本文发布于:2023-07-11 11:51:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1093951.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:媒体   PhoneGap   API

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!