【发布时间】:2014-10-23 02:23:23
【问题描述】:
我希望录制一些音频,然后能够播放。能够customize the record interface 对我来说很重要。
在下面的示例中,录制后我得到了 -1 的持续时间并且没有播放音频。
第 1 步。 已添加Media Plugin
cordova plugin add org.apache.cordova.media
第 2 步。 我的代码
注意 src 是文档要求的“amr”。
Android 设备以自适应多速率格式录制音频。这 指定文件应以 .amr 扩展名结尾。
但是,我的文件结构中不存在“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
任何帮助将不胜感激。如果我能回答任何问题,请告诉我。
【问题讨论】:
标签: android cordova media record