MUI音乐播放html5+audio模块

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>

 

posted @ 2019-01-02 10:50  帅到要去报警  阅读(4341)  评论(0编辑  收藏  举报