我希望录制一些音频,然后才能播放它 . 能够customize the record interface对我来说很重要 .
在录制后的下面示例中,我得到-1的持续时间并且没有播放音频 .
Step 1. 已添加Media Plugin
cordova plugin add org.apache.cordova.media
Step 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>
Output From Above
点击播放时没有播放音频 .
0 999846 log record
1 001845 log stop
2 002000 log recordAudio():Audio Success
3 004657 log play
4 008989 log -1
任何帮助将不胜感激 . 如果我能回答任何问题,请告诉我 .
2 回答
以下是我的工作步骤 .
1.运行这些命令
2.创建RecordTest / www / myrecording.wav
3.将以下代码粘贴到RecordTest / www / index.html中
4.运行离子模拟ios
以上应该有效 .
Note: the extension changes depending on the platform you're developing for
我正在使用与ionicframworkf和phonegap插件类似的东西..我 Build 了一个记录工厂:
startRecord,stopRecord,playRecord和Save记录到服务器......这是我的工厂文件:
如果你想检查我如何实现这个工厂,我的项目在GitHub上:
https://github.com/cmarrero01/famvoice
您需要签出开发分支 .
我希望这对你来说很有用 . :)
PH:关于代码请求,我注意到这个问题,但我不是一个好的英语演讲者 . :)