API Docs for: 1.10.1 最后更新日期:2016年03月28日
Google搜索   
Show:

LSound(LWebAudio) Class

Extends LWebAudio
Defined in: media/LSound.js:40

Available since 1.9.0

此类创建和播放音频的 LSound 对象。

当浏览器支持Web Audio Api并且设置LGlobal.webAudio = true(默认值是true)的时候,LSound会自动继承LWebAudio对象。

当LSound继承LWebAudio的时候,IOS浏览器下可以预先加载音频文件,但是播放音频必须在点击事件中进行。

当LSound继承LWebAudio的时候,IOS浏览器下可以同时播放多个音频文件,但是有上线,IOS浏览器的播放上限大约为4个。

Constructor

LSound(LWebAudio)

() public

Defined in media/LSound.js:40

Available since 1.9.0

Example:

var backLayer;
var sound;
function main () {
    backLayer = new LSprite();
    addChild(backLayer);
    sound = new LSound();
    ......
    var url = "./sample.";
    sound.load(url+"mp3,"+url+"ogg,"+url+"wav");
    sound.addEventListener(LEvent.COMPLETE,loadOver);
}
function onup (e) {
    ......
    sound.play();
}
function loadOver (e) {
    backLayer.addEventListener(LMouseEvent.MOUSE_UP,onup);
}

Methods

addEventListener

(
  • type
  • listener
)
public

Inherited from LEventDispatcher: events/LEventDispatcher.js:16

Available since 1.8.0

使用 LEventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。可以为特定类型的事件、阶段和优先级在显示列表中的所有节点上注册事件侦听器。

成功注册一个事件侦听器后,无法通过额外调用 addEventListener() 来更改其优先级。要更改侦听器的优先级,必须首先调用 removeListener()。然后,可以使用新的优先级再次注册该侦听器。

如果不再需要某个事件侦听器,可调用 removeEventListener() 删除它,否则会产生内存问题。

Parameters:

  • type String

    事件的类型。

  • listener Function

    处理事件的侦听器函数。

callParent

(
  • functionName
  • arguments
)
public

Inherited from LObject: utils/LObject.js:22

Available since 1.6.0

调用父类的函数。

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

Inherited from LWebAudio: media/LWebAudio.js:301

Available since 1.9.0

关闭当前播放的音频。

dispatchEvent

(
  • event
)
Boolean public

Inherited from LEventDispatcher: events/LEventDispatcher.js:59

Available since 1.8.0

将事件调度到事件流中。事件目标是对其调用 dispatchEvent() 方法的 LEventDispatcher 对象。

Parameters:

  • event LEvent | String

    调度到事件流中的 Event 对象。如果正在重新调度事件,则会自动创建此事件的一个克隆。在调度了事件后,其 target 属性将无法更改,因此您必须创建此事件的一个新副本以能够重新调度。

Returns:

Boolean:

如果成功调度了事件,则值为 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

Inherited from LWebAudio: media/LWebAudio.js:168

Available since 1.9.0

获取已经播放的时间。

Returns:

Int:

已经播放的时间。

getVolume

() Float public

Inherited from LWebAudio: media/LWebAudio.js:197

Available since 1.9.0

获取音量。

Returns:

Float:

音量。

hasEventListener

(
  • type
)
Boolean public

Inherited from LEventDispatcher: events/LEventDispatcher.js:126

Available since 1.8.0

检查 LEventDispatcher 对象是否为特定事件类型注册了任何侦听器。这样,您就可以确定 LEventDispatcher 对象在事件流层次结构中的哪个位置改变了对事件类型的处理。

Parameters:

  • type String

    事件的类型。

Returns:

Boolean:

如果指定类型的侦听器已注册,则值为 true;否则,值为 false。

load

(
  • url
)
public

Inherited from LWebAudio: media/LWebAudio.js:104

Available since 1.9.0

启动从指定 URL 加载外部 音频 文件的过程。

为了支持不同浏览器,可以像下面这样,同时传入多个多媒体类型文件。

medio.load("medias/a.mp3,medias/a.wav,medias/a.ogg");

Parameters:

  • url String

    指向外部 音频 文件的 URL。(也可以直接使用AudioBuffer或者ArrayBuffer类型的数据)

play

(
  • startTime
  • loops
)
public

Inherited from LWebAudio: media/LWebAudio.js:207

Available since 1.9.0

播放该音频对象。

Parameters:

  • startTime Float

    应开始播放的初始位置(以秒为单位)。

  • loops Int

    定义在声道停止播放之前,声音循环回 startTime 值的次数。

playSegment

(
  • startTime
  • segment
  • loops
)
public

Inherited from LWebAudio: media/LWebAudio.js:253

Available since 1.9.0

播放指定长度的其中的一段音频。

Parameters:

  • startTime Float

    应开始播放的初始位置(以秒为单位)。

  • segment Float

    指定长度(以秒为单位)。

  • loops Int

    定义在声道停止播放之前,声音循环回 startTime 值的次数。

playTo

(
  • startTime
  • endTime
  • loops
)
public

Inherited from LWebAudio: media/LWebAudio.js:265

Available since 1.9.0

播放指定区间内的一段音频。

Parameters:

  • startTime Float

    应开始播放的初始位置(以秒为单位)。

  • endTime Float

    停止播放的位置(以秒为单位)。

  • loops Int

    定义在声道停止播放之前,声音循环回 startTime 值的次数。

removeAllEventListener

() public

Inherited from LEventDispatcher: events/LEventDispatcher.js:50

Available since 1.8.0

从 LEventDispatcher 对象中删除所有侦听器。

removeEventListener

(
  • type
  • listener
)
public

Inherited from LEventDispatcher: events/LEventDispatcher.js:29

Available since 1.8.0

从 LEventDispatcher 对象中删除侦听器。如果没有向 LEventDispatcher 对象注册任何匹配的侦听器,则对此方法的调用没有任何效果。

Parameters:

  • type String

    事件的类型。

  • listener Function

    要删除的侦听器对象。

setVolume

(
  • value
)
public

Inherited from LWebAudio: media/LWebAudio.js:183

Available since 1.9.0

设定音量。

Parameters:

  • value Float

    音量。

stop

() public

Inherited from LWebAudio: media/LWebAudio.js:277

Available since 1.9.0

暂停当前播放的音频。

Properties

length

Int public

Inherited from LWebAudio: media/LWebAudio.js:18

Available since 1.9.0

LSound对象的长度

LSound.webAudioEnabled

Boolean public static

Defined in media/LSound.js:94

Available since 1.9.0

当前浏览器是否支持Web Audio。

objectIndex

Int public

Inherited from LObject: utils/LObject.js:11

Available since 1.6.0

对象的ID

playing

Boolean public

Inherited from LWebAudio: media/LWebAudio.js:30

Available since 1.9.0

LSound对象是否正在播放

Events

LEvent.COMPLETE

Inherited from LWebAudio: media/LWebAudio.js:343

Available since 1.9.0

多媒体文件加载完成事件。

LEvent.COMPLETE

LEvent.ERROR

Inherited from LWebAudio: media/LWebAudio.js:361

Available since 1.10.1

多媒体文件加载异常事件。

LEvent.ERROR

LEvent.PROGRESS

Inherited from LWebAudio: media/LWebAudio.js:355

Available since 1.10.1

多媒体文件加载进度事件。

LEvent.PROGRESS

LEvent.SOUND_COMPLETE

public

Inherited from LWebAudio: media/LWebAudio.js:349

Available since 1.9.0

播放结束事件,一个音频文件播放完之后调度,如果是使用playSegment函数播放音频的一段,则播放完一段音频之后调度。