gpt4 book ai didi

android - Phonegap Media API - 录制和播放音频 - Android

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:25:18 25 4
gpt4 key购买 nike

我希望录制一些音频然后能够播放它。能够customize the record interface对我来说很重要.

在下面的示例中,录制后的持续时间为 -1,并且没有播放音频。

第 1 步。已添加 Media Plugin

cordova plugin add org.apache.cordova.media

第 2 步。我的代码

注意 src 是文档要求的“amr”。

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

但是,“myrecording.amr”在我的文件结构中不存在,因为我希望它会被创建。

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>

从上方输出

单击播放时没有播放音频。

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

如有任何帮助,我们将不胜感激。如果我能回答任何问题,请告诉我。

最佳答案

以下是实现此功能的步骤。

1。运行这些命令

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

2。创建 RecordTest/www/myrecording.wav

3。将以下代码粘贴到 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。运行 ionic emulate ios

以上应该有效。

注意:扩展根据您开发的平台而变化

关于android - Phonegap Media API - 录制和播放音频 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26520308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com