亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

ionic+angularjs+cordova 錄音,播放錄音

標簽:
AngularJS

1.安装录音插件:ionic plugin addhttps://github.com/emj365/cordova-plugin-audio-recorder-api
2.安装媒体插件,用来播放录音:ionic plugin add https://github.com/apache/cordova-plugin-media

HTML:
//长按按钮录音
<div class="voice-btn" on-hold="rec_voice()" on-release="endrec_voice()" ng-show="!isOk2" style="display: inline-block;">
<i class="ico ion-mic-a"></i> 说点什么
<ion-spinner icon="spiral" ng-show="isrec"></ion-spinner>
</div>
ControllerJs:

$scope.recres = {}; //定义一个对象
$scope.isrec = false;
$scope.k = "";
$scope.isOk2 = false;
//长按录制声音
$scope.rec_voice  = function(){
    $scope.isrec = true;
    window.plugins.audioRecorderAPI.record(function(msg) {
        // complete
        console.log('ok: ' + msg);
    }, function(msg) {
        // failed
        console.log('ko: ' + msg);
    }, 20); // record 30 seconds
}
//console.log("停止");
$scope.isrec = false;

//释放按钮,上传录音文件
$scope.endrec_voice = function(){
window.plugins.audioRecorderAPI.stop(function(file) {
// success
console.log('ok: ' + file);
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=file.substr(file.lastIndexOf('/')+1);
var ft = new FileTransfer();
ft.onprogress = function(progressEvent) {
//上传中
console.log("上传中");
console.log(progressEvent.loaded);
};
ft.upload('file:///'+file, encodeURI(Configs.base_url+"/apps/file/uploadVoice"),
function(re){
console.log(JSON.stringify(re));
console.log(re.responseCode);
var status= JSON.parse(re.response).status;
console.log("aa:"+status);
if(status == 1){
//上传成功
$scope.isrec = false;
$scope.isOk= true;
$scope.isOk2 = true;
$scope.$digest();
console.log("上传完成");
console.log($scope.isOk);
var voice = JSON.parse(re.response).data;
console.log(voice);
$scope.chat.ct = voice;
$scope.chat.tag = "voice";
$scope.send();
$scope.sendMsg_button = true;
$scope.sendMsg_input = true;
}
}, function(e){
console.log(JSON.stringify(e));
}, options);

    }, function(msg) {
        // failed
        console.log('ko: ' + msg);
        $scope.isrec = false;
        $scope.$digest();
    });
}

//播放录音
$scope.playrec = function(v){
console.log(v);
$scope.voice = $scope.teUrl+v;
$scope.recres = new Media($scope.voice,
function () { console.log("playAudio():Audio Success"); },
// error callback
function (err) { console.log("playAudio():Audio Error: " + err); });

    $scope.recres.play();
}
點擊查看更多內容
4人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
8
獲贊與收藏
47

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消