MUI音樂播放html5+audio模塊

原文鏈接:https://www.cnblogs.com/e0yu/p/10207394.html

 

html5+ audio 模塊官方開發文檔


MUI播放音頻 Audio模塊用於提供音頻的錄製和播放功能,可調用系統的麥克風設備進行錄音操作,也可調用系統的揚聲器設備播放音頻文件。通過plus.audio獲取音頻管理對象。

權限

"Audio": {
    "description": "訪問音頻設備"
}

錄音

// 擴展API加載完畢,現在可以正常調用擴展API 
function onPlusReady() { 
    r = plus.audio.getRecorder(); 
}
function startRecord() {
    if ( r == null ) {
        alert( "Device not ready!" );
        return; 
    } 
    r.record( {filename:"_doc/audio/xx.amr"}, function () {//真機測試文件在/sdcard/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc下面(.HBuilder是隱藏的,要查看隱藏的文件)
        alert( "Audio record success!" );
    }, function ( e ) {
        alert( "Audio record failed: " + e.message );
    } );
}

這樣錄音就被保存下來了

播放錄音

function player(){//播放音樂
    s = plus.audio.createPlayer( "_doc/audio/gg.mp3" );
    var num = s.getDuration();//獲取音頻總長度number
    setTimeout(function(){//延時獲取,否則可能沒有返回長度
        var num = s.getDuration();
        alert(num)
    },100)
 
    s.play( function () {//播放完成回調
        alert( "Audio play success!" ); 
    }, function ( e ) {//失敗回調
        alert( "Audio play error: " + e.message ); 
    } ); 
}

暫停播放:

function pause(){//暫停播放
    s.pause();
}

恢復播放:

function resume() {//恢復播放
    s.resume();
}

跳到指定位置播放(快進):

function seekTo(){
    s.seekTo(100);
}

完整測試代碼:

<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8">
    <title>Audio Example</title>
    <script type="text/javascript">
// 擴展API加載完畢後調用onPlusReady回調函數 
document.addEventListener( "plusready", onPlusReady, false );
var r = null; 
// 擴展API加載完畢,現在可以正常調用擴展API 
function onPlusReady() { 
    r = plus.audio.getRecorder(); 
}
function startRecord() {
    if ( r == null ) {
        alert( "Device not ready!" );
        return; 
    } 
    r.record( {filename:"_doc/audio/xx.amr"}, function () {//真機測試文件在/sdcard/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc下面(.HBuilder是隱藏的,要查看隱藏的文件)
        alert( "Audio record success!" );
    }, function ( e ) {
        alert( "Audio record failed: " + e.message );
    } );
}
function stopRecord() {
    r.stop(); 
}
function player(){//播放音樂
    s = plus.audio.createPlayer( "_doc/audio/gg.mp3" );
    var num = s.getDuration();//獲取音頻總長度number
    setTimeout(function(){//延時獲取,否則可能沒有返回長度
        var num = s.getDuration();
        alert(num)
    },100)
 
    s.play( function () {
        alert( "Audio play success!" ); 
    }, function ( e ) {
        alert( "Audio play error: " + e.message ); 
    } ); 
}
function pause(){//暫停播放
    s.pause();
}
function resume() {//恢復播放
    s.resume();
}
function seekTo(){
    s.seekTo(100);
}
    </script>
    </head>
    <body>
        <input type="button" value="Start Record" onclick="startRecord();"/> 
        <br/>
        <input type="button" value="Stop Record" onclick="stopRecord();"/>
        <br />
        <input type="button" value="player" onclick="player();"/>
        <br />
        <input type="button" value="暫停" onclick="pause();"/>
        <br />
        <input type="button" value="恢復" onclick="resume();"/>
        <br />
        <input type="button" value="跳到指定位置" onclick="seekTo();"/>
 
</body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章