本文档部分API缺少示例代码,诚挚的邀请你参与到示例代码的编写中来,你可以在代码中发布2行自定义注释,内容自拟。 有意者可与刺鸟联系(QQ:4041990 Q群:7702175)
API简介
uexAudio对象是手机本地的音频对象,可用来播放音乐和音效,并且能够进行录音等操作。
接口说明
open(url) ▲
参数名称 | 描述 |
url | 音乐文件路径,可通过uexFileMgr.explorer进行选择。 |
play(loopTimes) ▲
参数名称 | 描述 |
loopTimes | 指定的循环次数。-1代表无限循环播放,0代表只播放一次,loopTimes>=0代表的循环播放的次数,每次播放完成后都会调用uexAudio.onPlayFinished,该回调函数返回当前播放完成的次数。 |
openPlayer(inUrlStrs,activeIndex) ▲
参数名称 | 描述 |
inUrlStrs | 音乐文件路径数组。 |
activeIndex | 默认开始播放的音乐文件在inUrlStrs中的索引【可不填,默认为0】。数组索引值从0开始,若等于或大于数组长度,则表示越界,此时索引为0。 |
cbOpenSoundPool(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略。 |
dataType | 成功时返回数据的数据类型为uex.cInt(值为2)。 |
data | 返回的int型的数据(一个音效只能返回一个ID值,ID值是系统返回的,供播放使用)。 |
playFromSoundPool(inSoundID) ▲
参数名称 | 描述 |
inSoundID | 打开音效文件回调返回的id。 |
stopFromSoundPool(inSoundID) ▲
参数名称 | 描述 |
inSoundID | 打开音效文件回调返回的id。 |
addSound(soundId,inPath) ▲
参数名称 | 描述 |
soundId | 传入的声音文件唯一标识。 |
inPath | 文件路径集合,支持的文件路径协议:wgt://…,wgts://…,/… ,file://…,http://…。 |
onPlayFinished(inCurrentTimes) ▲
参数名称 | 描述 |
inCurrentTimes | 当前播放次数,当用户选择循环播放的时候,该参数表示当前是第几次播放。该值从0开始。 |
record(soundType) ▲
参数名称 | 描述 |
soundType | 指定录音类型,”0”表示AMR格式,”1”表示ios平台的caf格式。(android平台忽略此函数,只支持AMR格式)。 |
cbRecord(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略。 |
dataType | 返回数据的数据类型为uex.cText(值为0)。 |
data | 返回的录音文件的绝对路径。 |
startBackgroundRecord(soundType) ▲
参数名称 | 描述 |
soundType | 指定录音类型,”0”表示AMR格式,”1”表示ios平台的caf格式。(android平台忽略此函数,只支持AMR格式)。 |
cbBackgroundRecord(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略。 |
dataType | 返回数据的数据类型为uex.cText(值为0)。 |
data | 返回的录音文件的绝对路径。 |
// 本代码由寒暄提供,如有bug请和寒暄联系(QQ:457696322 Q群:7702175)
<!DOCTYPE html>
<html>
<head>
<title>AppCan API uexAudio</title>
<meta charset="utf-8">
<script>
window.uexOnload = function(type){
if(!type){
uexAudio.onPlayFinished=function(inCurrentTimes){
console.log("当前歌曲播放第"+inCurrentTimes+1+"次");
}
}
}
function $$(id){
return document.getElementById(id);
}
//打开音乐播放
function audioOpen(){
var url = $$("audio_url").value;
uexAudio.open(url);
}
//播放,并设置播放次数
function audioPlay(){
uexAudio.play(2);//连续播放2次
}
//暂停播放
function audioPause(){
uexAudio.pause();
}
//停止播放,启动uexAudio.play会重新播放
function audioStop(){
uexAudio.stop()
}
//调高音量
function audioVolumeUp(){
uexAudio.volumeUp();
}
//调低音量
function audioVolumeDown(){
uexAudio.volumeDown();
}
//打开系统播放界面
function audioOpenPlayer(){
//设置播放音乐数组 var arr_ = ["res://1.mp3","res://2.mp3","res://3.mp3"];
//传入数组,并设置从数组第一个开始播放
uexAudio.openPlayer(arr_,0);
}
/*********音效处理方法************/
var sondPoolId = 0;//全局变量,用于保存打开音效池的返回id,初始化为0
//打开音效池
function audioOpenSoundPool(){
uexAudio.cbOpenSoundPool=function(opId,dataType,data){
if(dataType==2)
sondPoolId = data;
}
}
//播放音效池中的音效
function audioPlayFromSoundPool(){
if(sondPoolId!=0)
uexAudio.playFromSoundPool(sondPoolId);
}
//停止播放音效
function audioStopFromSoundPool(){
if(sondPoolId!=0){
uexAudio.stopFromSoundPool(sondPoolId);
sondPoolId = 0;
}
}
//向音效池添加音效
var soundId = 100; function audioAddSound(){
soundId++;
var tmp = "res://1.amr";
uexAudio.addSound(soundId,tmp);
}
//关闭音效池
function audioCloseSoundPool(){
uexAudio.closeSoundPool();
}
/****************录音处理方法*****************/
//打开系统录音界面
function audioRecord(){
uexAudio.cbRecord=function(opId,dataType,data){
if(dataType==0)
console.log("录音文件路径为:"+data);
}
uexAudio.record(0);//设置录音格式为amr
}
//开始后台录音
function audioStartBackgroundRecord(){
uexAudio.startBackgroundRecord(0);//设置录音格式为amr
}
//停止后台录音
function audioStopBackgroundRecord(){
uexAudio.cbBackgroundRecord=function(opId,dataType,data){
if(dataType==0)
console.log("录音文件路径为:"+data);
}
uexAudio.stopBackgroundRecord();
}
</script>
</head>
<body>
<span>音乐播放</span><br/>
<input id="audio_url" type="text" style="width:200px;height:20px" /><br/>
<input type="button" value="Open" onclick="audioOpen()"/><br/>
<input type="button" value="Play" onclick="audioPlay()"/><br/>
<input type="button" value="Pause" onclick="audioPause()"/><br/>
<input type="button" value="Stop" onclick="audioStop()"/><br/>
<input type="button" value="VolumeUp" onclick="audioVolumeUp()"/><br/>
<input type="button" value="VolumeDown" onclick="audioVolumeDown()"/><br/>
<br/>
<span>打开系统音乐播放界面</span><br/>
<input type="button" value="OpenPlayer" onclick="audioOpenPlayer()"/><br/>
<br/>
<span>音效播放</span><br/>
<input type="button" value="OpenSoundPool" onclick="audioOpenSoundPool()"/><br/>
<input type="button" value="PlayFromSoundPool" onclick="audioPlayFromSoundPool()"/><br/>
<input type="button" value="StopFromSoundPool" onclick="audioStopFromSoundPool()"/><br/>
<input type="button" value="AddSound" onclick="audioAddSound()"/><br/>
<input type="button" value="CloseSoundPool" onclick="audioCloseSoundPool()"/><br/>
<br/>
<span>录音</span><br/>
<input type="button" value="Record" onclick="audioRecord()"/><br/>
<input type="button" value="StartBackgroundRecord" onclick="audioStartBackgroundRecord()"/><br/>
<input type="button" value="StopBackgroundRecord" onclick="audioStopBackgroundRecord()"/><br/>
</body>
</html>