LWebAudio Class
LWebAudio 类是LSound对象的基类。可以让LSound对象使用Web Audio Api来播放音频文件,可以解决IOS下无法多声道的问题。
LWebAudio 是一种抽象基类;因此,不能直接调用 LWebAudio。
LWebAudio 类是可以包含子对象的所有对象的抽象基类。无法直接对其进行实例化。
Constructor
LWebAudio
()
public
Item Index
Methods
Properties
Methods
addEventListener
-
type
-
listener
使用 LEventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。可以为特定类型的事件、阶段和优先级在显示列表中的所有节点上注册事件侦听器。
成功注册一个事件侦听器后,无法通过额外调用 addEventListener() 来更改其优先级。要更改侦听器的优先级,必须首先调用 removeListener()。然后,可以使用新的优先级再次注册该侦听器。
如果不再需要某个事件侦听器,可调用 removeEventListener() 删除它,否则会产生内存问题。
Parameters:
-
type
String事件的类型。
-
listener
Function处理事件的侦听器函数。
callParent
-
functionName
-
arguments
调用父类的函数。
Parameters:
-
functionName
String函数名
-
arguments
Array固定值arguments
Example:
function funA(){
LExtends(this,LObject,[]);
}
funA.prototype.myName = function(){
return "AAA";
}
function funB(){
LExtends(this,funA,[]);
}
funB.prototype.myName = function(){
return "BBB";
}
function funC(){
LExtends(this,funA,[]);
}
funC.prototype.myName = function(){
return this.callParent("myName",arguments);
}
LInit(1000/50,"legend",800,150,main);
function main(){
LGlobal.setDebug(true);
var objB = new funB();
trace(objB.myName());//BBB
var objC = new funC();
trace(objC.myName());//AAA
}
close
()
public
关闭当前播放的音频。
dispatchEvent
-
event
将事件调度到事件流中。事件目标是对其调用 dispatchEvent() 方法的 LEventDispatcher 对象。
Parameters:
-
event
LEvent | String调度到事件流中的 Event 对象。如果正在重新调度事件,则会自动创建此事件的一个克隆。在调度了事件后,其 target 属性将无法更改,因此您必须创建此事件的一个新副本以能够重新调度。
Returns:
如果成功调度了事件,则值为 true。
Example:
function MyEventObject(){
var self = this;
LExtends(self,LSprite,[]);
self.graphics.drawRect(1,"#000000",[0,0,100,100],true,"#000000");
self.graphics.drawRect(1,"#FF0000",[100,0,100,100],true,"#FF0000");
self.addEventListener(LMouseEvent.MOUSE_UP,self.onclick);
self.addEventListener(MyEventObject.CLICK_LEFT,function(event){
trace("dispatchEvent");
});
self.addEventListener(MyEventObject.CLICK_RIGHT,function(event){
trace("dispatchEvent event.name = " + event.name);
});
}
MyEventObject.CLICK_LEFT = "click_left";
MyEventObject.CLICK_RIGHT = "click_right";
MyEventObject.prototype.onclick = function(event){
var self = event.clickTarget;
if(event.selfX < 100){
self.dispatchEvent(MyEventObject.CLICK_LEFT);
}else{
var event = new LEvent(MyEventObject.CLICK_RIGHT);
event.name = "LEvent Test";
self.dispatchEvent(event);
}
}
getCurrentTime
()
Int
public
获取已经播放的时间。
Returns:
已经播放的时间。
getVolume
()
Float
public
获取音量。
Returns:
音量。
hasEventListener
-
type
检查 LEventDispatcher 对象是否为特定事件类型注册了任何侦听器。这样,您就可以确定 LEventDispatcher 对象在事件流层次结构中的哪个位置改变了对事件类型的处理。
Parameters:
-
type
String事件的类型。
Returns:
如果指定类型的侦听器已注册,则值为 true;否则,值为 false。
load
-
url
启动从指定 URL 加载外部 音频 文件的过程。
为了支持不同浏览器,可以像下面这样,同时传入多个多媒体类型文件。
medio.load("medias/a.mp3,medias/a.wav,medias/a.ogg");
Parameters:
-
url
String指向外部 音频 文件的 URL。(也可以直接使用AudioBuffer或者ArrayBuffer类型的数据)
play
-
startTime
-
loops
播放该音频对象。
Parameters:
-
startTime
Float应开始播放的初始位置(以秒为单位)。
-
loops
Int定义在声道停止播放之前,声音循环回 startTime 值的次数。
playSegment
-
startTime
-
segment
-
loops
播放指定长度的其中的一段音频。
Parameters:
-
startTime
Float应开始播放的初始位置(以秒为单位)。
-
segment
Float指定长度(以秒为单位)。
-
loops
Int定义在声道停止播放之前,声音循环回 startTime 值的次数。
playTo
-
startTime
-
endTime
-
loops
播放指定区间内的一段音频。
Parameters:
-
startTime
Float应开始播放的初始位置(以秒为单位)。
-
endTime
Float停止播放的位置(以秒为单位)。
-
loops
Int定义在声道停止播放之前,声音循环回 startTime 值的次数。
removeAllEventListener
()
public
从 LEventDispatcher 对象中删除所有侦听器。
removeEventListener
-
type
-
listener
从 LEventDispatcher 对象中删除侦听器。如果没有向 LEventDispatcher 对象注册任何匹配的侦听器,则对此方法的调用没有任何效果。
Parameters:
-
type
String事件的类型。
-
listener
Function要删除的侦听器对象。
setVolume
-
value
设定音量。
Parameters:
-
value
Float音量。
stop
()
public
暂停当前播放的音频。
Properties
length
Int
public
LSound对象的长度
objectIndex
Int
public
对象的ID
playing
Boolean
public
LSound对象是否正在播放
Events
LEvent.COMPLETE
多媒体文件加载完成事件。
LEvent.ERROR
多媒体文件加载异常事件。
LEvent.PROGRESS
多媒体文件加载进度事件。
LEvent.SOUND_COMPLETE
public
播放结束事件,一个音频文件播放完之后调度,如果是使用playSegment函数播放音频的一段,则播放完一段音频之后调度。