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>
原文地址:https://www.cnblogs.com/e0yu/p/10207394.html
时间: 2024-11-05 15:49:24