模塊:audio
Audio模塊用於提供音頻的錄制和播放功能,可調用系統的麥克風設備進行錄音操作,也可調用系統的揚聲器設備播放音頻文件。通過plus.audio獲取音頻管理對象。
應用場景:音頻錄制,語言聊天,語言留言,音頻播放;
對象應該有兩個:錄音(AndioRecorder)和播放(AudioPlayer ):
錄音:一個成功回調,一個失敗回調;option有三個參數,有用的是filename這個音頻存放的位置;
播放:一個成功回調,一個失敗的回調;
play(successCB,errorCB);
pause();暫停;
resume();重來;
stop();停止;
seekTo(position);position傳遞的參數是多少,一秒為單位,跳轉到多少秒;
getDuration(position);音頻播放之前需要去取的值,如果視頻是1分30秒播放完,那么返回的值就是90秒;
getPosition:我這個視頻播放到哪里了;如果要實時調用播放到哪里,就用定時器去調用;
setRoute(route);這個方法不是必須的,有默認值;(默認是揚聲器,不可能在聽筒里面播放音樂,但是微信是有這個的)
方法:
getRecorder();// 獲取錄音設備; plus.audio.getRecorder();
createPlayer();//創建播放器;plus.audio.createPlayer(path);
示例:
<header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a> <h1 class="mui-title">音頻錄音</h1> </header> <div class="mui-content mui-content-padded"> <button type="button" class="mui-btn mui-btn-blue mui-btn-block" id="btnStartRecord">開始錄音</button> <button type="button" class="mui-btn mui-btn-blue mui-btn-block" id="btnEndRecord">結束錄音</button> <div id="time"></div> <ul class="mui-table-view" id="mList"></ul> </div> <script src='http://libs.baidu.com/jquery/1.8.3/jquery.min.js'></script> <script src="js/mui.min.js"></script> <script type="text/javascript"> mui.plusReady(function(){ var recorder = null; var recorderTimer = null; var time = 0; $("#btnStartRecord").bind('tap',function(){ startRecord(); }); $("#btnEndRecord").bind('tap',function(){ endRecord(); }); function startRecord(){ recorderTimer = setInterval(function(){ time++; $("#time").html(time); },1000); // 1.創建recorder recorder = plus.audio.getRecorder(); // 2.錄音 recorder.record({filename:"_doc/audio/"},function(filePath){ plus.io.resolveLocalFileSystemURL(filePath,function(entry){ console.log(filePath); console.log(entry); var listStr = "<li class='mui-table-view-cell'><a class='mui-navigate-right recordItem'>"+filePath+"</a></li>"; $("#mList").append(listStr); $(".recordItem").bind('tap',function(){ var oName = $(this).text(); alert(oName); var path = ""; var player = plus.audio.createPlayer(oName); player.play(function(){ console.log('play ended'); },function(e){ console.log("message:"+e.message); }); }); },function(e){ console.log("讀取錄音失敗:"+e.message); }); }); } function endRecord(){ // 3.停止錄音 clearInterval(recorderTimer); recorder.stop(); }; }); </script>
