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>