audio音频播放及网络音频文件播放

点击查看详情

Audio模块用于提供音频的录制和播放功能,可调用系统的麦克风设备进行录音操作,也可调用系统的扬声器设备播放音频文件。通过plus.audio获取音频管理对象。

ROUTE_SPEAKER:设备的扬声器音频输出线路

plus.audio.ROUTE_SPEAKER
Number 类型
音频输出线路常量,值为0。音频播放时在设备的扬声器输出。

ROUTE_EARPIECE:设备听筒音频输出线路

plus.audio.ROUTE_EARPIECE
Number 类型
音频输出线路常量,值为1。音频播放时在设备的听筒输出。

方法

getRecorder:获取当前设备的录音对象

plus.audio.getRecorder()
获取当前设备的录音对象,进行录音操作,录音对象是设备的独占资源,在同一时间仅可执行一个录音操作,否则可能会导致操作失败。
返回值:
AudioRecorder : 录音对象
<!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/"}, function () {
                alert( "Audio record success!" );
            }, function ( e ) {
                alert( "Audio record failed: " + e.message );
            } );
        }
        function stopRecord() {
            r.stop(); 
        }
    </script>
    </head>
    <body>
        <input type="button" value="Start Record" onclick="startRecord();"/> 
        <br/>
        <input type="button" value="Stop Record" onclick="stopRecord();"/>
    </body>
</html>

record:调用设备麦克风进行录音操作

recorder.record( option, successCB, errorCB )
调用设备麦克风开始录音操作,录音完成需调用stop方法停止。录音完成后将通过successCB回调返回录音后的文件数据。
参数:
option: ( RecordOption ) 必选 设置录音的参数
successCB: ( RecordSuccessCallback ) 必选 录音操作成功回调函数
errorCB: ( AudioErrorCallback ) 可选 录音操作错误回调函数
// 录音操作
var r = plus.audio.getRecorder();
r.record( {filename:"_doc/audio/"}, function () {
    alert( "Audio record success!" );
}, function ( e ) {
    alert( "Audio record failed: " + e.message );
} );

stop:结束录音操作

recorder.stop()
结束录音操作,通知设备完成录音操作。录音完成后将调用record方法中传入的successCB回调返回录音文件。
// 停止录音
r.stop();

createPlayer:创建音频播放对象

plus.audio.createPlayer( path )
创建一个音频文件播放对象,用于打开音频文件并播放。 可通过path参数指定要播放的音频文件。创建后返回播放对象,通过
Audio.play方法开始播放。
参数:
path: ( String ) 必选 音频文件路径
要播放的音频文件的路径。
返回值:
AudioPlayer : 音频播放对象
<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8">
        <title>Audio Example</title>
        <script type="text/javascript">
            // 扩展API加载完毕后调用onPlusReady回调函数 
            document.addEventListener("plusready", onPlusReady, false);
            // 扩展API加载完毕,现在可以正常调用扩展API 
            function onPlusReady() {}
            var p = null;

            function startPlay() {
                if(plus.audio == undefined) {
                    alert("Device not ready!");
                }
                p = plus.audio.createPlayer("_Doc/Audio/test.mp3");
                p.play(function() {
                    alert("Audio play success!");
                }, function(e) {
                    alert("Audio play error: " + e.message);
                });
            }

            function stopPlay() {
                p.stop();
            }
        </script>
    </head>

    <body>
        <input type="button" value="Start Play" onclick="startPlay();" />
        <br/>
        <input type="button" value="Stop Play" onclick="stopPlay();" />
    </body>

</html>

AudioPlayer:音频播放对象

音频播放对象,用于音频文件的播放。不能通过new方法直接创建,只能通过audio.createPlayer方法创建。
方法:
play: 开始播放音频
pause: 暂停播放音频
resume: 恢复播放音频
stop: 停止播放音频
seekTo: 跳到指定位置播放音频
getDuration: 获取音频流的总长度
getPosition: 获取音频流当前播放的位置
setRoute: 设置音频输出线路

play:开始播放音频

player.play( successCB, errorCB )
参数:
successCB: ( PlaySuccessCallback ) 必选 播放音频操作成功回调函数
当音频文件播放完成时回调。
errorCB: ( AudioErrorCallback ) 可选 播放音频操作错误回调函数
当音频文件播放发生错误时回调。
// 播放操作
var p = plus.audio.createPlayer();
p.play( function () {
    alert( "Audio play success!" );
}, function ( e ) {
    alert( "Audio play failed: " + e.message );
} );

pause:暂停播放音频

player.pause()
需先调用createPlayer方法创建音频播放对象,并开始播放。音频播放对象在播放状态才能暂停,在其它状态调用此方法无任何作用
// 暂停播放
p.pause();

resume:恢复播放音频

player.resume()
音频播放对象在暂停状态才能恢复播放,在其它状态调用此方法无任何作用。
// 恢复播放
p.resume();

stop:停止播放音频

player.stop()
停止播放音频,音频播放对象在播放或暂停状态才能停止播放,在其它状态调用此方法无任何作用。 停止播放后如果需要继续播放,则
需调用play方法重新开始播放。
// 停止播放
p.stop();

seekTo:跳到指定位置播放音频

player.seekTo( position )
跳到指定位置播放音频,音频播放对象在播放或暂停状态才能跳到指定播放音频,在其它状态调用此方法无任何作用。
参数:
position: ( Number ) 必选 音频播放要跳到的位置,单位为s

getDuration:获取音频流的总长度

player.getDuration()
获取音频流的总长度,单位为秒,若长度未知则返回-1。如果还未获取到音频流信息则返回NaN,此时需要延迟获取此信息。
返回值:
Number : 音频流的总长度

getPosition:获取音频流当前播放的位置

player.getPosition()
获取音频流当前播放的位置(已播放的长度),单位为s。
返回值:
Number : 当前音频播放的位置,单位为s,如果音频文件未准备好则返回0

setRoute:设置音频输出线路

player.setRoute( route )
可在音频文件开始播放前或播放的过程中改变音频输出线路,默认使用扬声器(plus.audio.ROUTE_SPEAKER)输出线路。
参数:
route: ( Number ) 必选 音频播放时输出线路常量
可设置audio的ROUTE_*常量值,设置后立即生效。
// 播放操作
var p = plus.audio.createPlayer();
// 切换到听筒线路
p.setRoute( plus.audio.ROUTE_EARPIECE );
p.play( function () {
    alert( "Audio play success!" );
}, function ( e ) {
    alert( "Audio play failed: " + e.message );
} );
//...
// 切换到扬声器线路
p.setRoute( plus.audio.ROUTE_SPEAKER );
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值