音頻的錄制和播放功能(audio) ---- HTML5+


模塊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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM