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>
MUI音乐播放html5+audio模块
原文地址:https://www.cnblogs.com/e0yu/p/10207394.html