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

LSound(LMedia) Class

Extends LMedia
Defined in: media/LSound.js:1

Available since 1.7.0

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

当浏览器不支持Web Audio Api或者设置LGlobal.webAudio = false的时候,LSound会自动继承LMedia对象。

当LSound继承LMedia的时候,IOS浏览器下加载音频需要在点击事件中进行,并且同一时间只能播放一个音频文件。

Constructor

LSound(LMedia)

() public

Defined in media/LSound.js:1

Available since 1.7.0

Example:

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

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

    处理事件的侦听器函数。

cacheAsBitmap

(
  • value
)
public

Inherited from LDisplayObject: display/LDisplayObject.js:407

Available since 1.9.11

如果设置为 true,则运行时将缓存显示对象的内部位图表示形式。此缓存可以提高包含复杂矢量内容的显示对象的性能。速度可能会大大加快,具体取决于矢量内容的复杂性。

*动态改变的对象无法使用cacheAsBitmap

Parameters:

  • value Bool

    分配给触摸点的整数(触摸设备)。

Example:

var layer = new LSprite();
layer.x = layer.y = 100;
addChild(layer);
var bitmapdata = new LBitmapData(event.target);
var bitmap = new LBitmap(bitmapdata);
layer.addChild(bitmap);
bitmap = new LBitmap(bitmapdata);
bitmap.x = bitmap.y = 50;
layer.addChild(bitmap);
var sprite = new LSprite();
sprite.graphics.drawRect(3, "#000000", [0, 0, 190, 100],true,"#00FF00");
sprite.x = -100;
layer.addChild(sprite);
layer.cacheAsBitmap(true);

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 LMedia: media/LMedia.js:230

Available since 1.7.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);
    }
}

getBounds

(
  • targetCoordinateSpace
)
LRectangle public

Inherited from LDisplayObject: display/LDisplayObject.js:383

Available since 1.7.7

返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。

Parameters:

  • targetCoordinateSpace LDisplayObject

    定义要使用的坐标系的显示对象。

Returns:

LRectangle:

定义与 targetCoordinateSpace 对象坐标系统相关的显示对象面积的矩形。

getCurrentTime

() Int public

Inherited from LMedia: media/LMedia.js:118

Available since 1.7.0

获取已经播放的时间。

Returns:

Int:

已经播放的时间。

getDataURL

(
  • type
  • ratio
)
Base64 Image public

Inherited from LDisplayObject: display/LDisplayObject.js:472

Available since 1.7.7

将该对象转换成base64编码的image字符串。

Parameters:

  • type String

    参数type在image/png,image/jpeg,image/svg+xml等 MIME类型中选择(可以不填,默认是image/png)。

  • ratio Float

    如果是type = “image/jpeg”,可以有第二个参数,如果第二个参数ratio的值在0-1之间,则表示JPEG的质量等级,否则使用浏览器内置默认质量等级。

Returns:

Base64 Image:

base64编码的image字符串。

getParentByConstructor

(
  • constructor
)
Object public

Inherited from LDisplayObject: display/LDisplayObject.js:487

Available since 1.10.1

通过构造函数向上查找对象。

Parameters:

  • constructor Constructor

    某个构造函数

Returns:

Object:

查找到的对象。

Example:

function MyClass1(){
    base(self,LSprite,[]);
}
function MyClass2(){
    base(self,LSprite,[]);
}
var obj1 = new MyClass1();
var obj2 = new MyClass2();
var obj3 = new LSprite();
addChild(obj1);
obj1.addChild(obj2);
obj2.addChild(obj3);
trace(obj1.objectIndex == obj3.getParentByConstructor(MyClass1).objectIndex);//out: true
trace(obj2.objectIndex == obj3.getParentByConstructor(MyClass2).objectIndex);//out: true

getRootCoordinate

() LPoint public

Inherited from LDisplayObject: display/LDisplayObject.js:308

Available since 1.7.7

得到一个可显示对象相对于canvas标签左上点的坐标。

Returns:

LPoint:

一个LPoint对象。

getVolume

() Float public

Inherited from LMedia: media/LMedia.js:138

Available since 1.7.0

获取音量。

Returns:

Float:

音量。

globalToLocal

(
  • point
)
LPoint public

Inherited from LDisplayObject: display/LDisplayObject.js:353

Available since 1.9.11

将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。

要使用此方法,请先创建 LPoint 类的一个实例。您分配的 x 和 y 值表示全局坐标,因为它们是相对于主显示区域的原点 (0,0) 的。然后将 LPoint 实例作为参数传递给 globalToLocal() 方法。该方法会返回一个新的 LPoint 对象,该对象具有相对于显示对象原点(而不是舞台原点)的 x 和 y 值。

Parameters:

  • point LPoint

    用 LPoint 类创建的对象。 该 LPoint 对象指定 x 和 y 坐标作为属性。

Returns:

LPoint:

具有相对于显示对象的坐标的 LPoint 对象。

Example:

LInit(50, "legend", 800, 480, main);
function main () {
    LGlobal.setDebug(true);
    var circle = new LSprite();
    circle.x = 10;
    addChild(circle);
    var point1 = new LPoint(0, 0);
    trace(circle.globalToLocal(point1)); // [x=-10, y=0]
    var point2 = new LPoint(10, 1);
    trace(circle.globalToLocal(point2)); // [x=0, y=1]
    var point3 = new LPoint(30, 20);
    trace(circle.globalToLocal(point3)); // [x=20, y=20]
}

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 LMedia: media/LMedia.js:73

Available since 1.7.0

启动从指定 URL 加载外部 多媒体 文件的过程。

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

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

Parameters:

  • url String

    指向外部 多媒体 文件的 URL。

localToGlobal

(
  • point
)
LPoint public

Inherited from LDisplayObject: display/LDisplayObject.js:318

Available since 1.9.11

将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。

此方法允许您将任何给定的 x 和 y 坐标从相对于特定显示对象原点 (0,0) 的值(本地坐标)转换为相对于舞台原点的值(全局坐标)。

要使用此方法,请先创建 Point 类的一个实例。您分配的 x 和 y 的值表示本地坐标,因为它们是相对于显示对象原点的值。

然后,您可以将创建的 Point 实例作为参数传递给 localToGlobal() 方法。该方法会返回一个新的 Point 对象,该对象具有相对于舞台原点(而不是显示对象原点)的 x 和 y 值。

Parameters:

  • point LPoint

    使用 Point 类创建的点的名称或标识符,指定 x 和 y 坐标作为属性。

Returns:

LPoint:

具有相对于舞台的坐标的 Point 对象。

Example:

LInit(50, "legend", 800, 480, main);
var square;
function main () {
    LGlobal.setDebug(true);
    square = new LSprite();
    square.graphics.drawRect(1,"#000000",[0, 0, 100, 100]);
    square.x = 100;
    square.y = 200;
    addChild(square);
    square.addEventListener(LMouseEvent.MOUSE_DOWN, traceCoordinates);
}
function traceCoordinates(event) {
    var clickPoint = new LPoint(mouseX, mouseY);
    trace("display object coordinates:", clickPoint);
    trace("stage coordinates:", square.localToGlobal(clickPoint));
}

play

(
  • startTime
  • loops
)
public

Inherited from LMedia: media/LMedia.js:148

Available since 1.7.0

播放该多媒体对象。

Parameters:

  • startTime Float

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

  • loops Int

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

playSegment

(
  • startTime
  • segment
  • loops
)
public

Inherited from LMedia: media/LMedia.js:188

Available since 1.9.0

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

Parameters:

  • startTime Float

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

  • segment Float

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

  • loops Int

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

playTo

(
  • startTime
  • endTime
  • loops
)
public

Inherited from LMedia: media/LMedia.js:200

Available since 1.9.0

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

Parameters:

  • startTime Float

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

  • endTime Float

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

  • loops Int

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

remove

() public

Inherited from LDisplayObject: display/LDisplayObject.js:602

Available since 1.7.7

将对象自己从父容器中移除。

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 LMedia: media/LMedia.js:128

Available since 1.7.0

设定音量。

Parameters:

  • value Float

    音量。

stop

() public

Inherited from LMedia: media/LMedia.js:212

Available since 1.7.0

暂停当前播放的音频/视频。

Properties

alpha

Float public

Inherited from LDisplayObject: display/LDisplayObject.js:55

Available since 1.6.0

表示指定对象的 Alpha 透明度值。有效值为 0(完全透明)到 1(完全不透明)。默认值为 1。alpha 设置为 0 的显示对象是活动的,即使它们不可见。

Default: 1

blendMode

String public

Inherited from LDisplayObject: display/LDisplayObject.js:107

Available since 1.8.0

LBlendMode 类中的一个值,用于指定要使用的混合模式。 内部绘制位图的方法有两种。 如果启用了混合模式或外部剪辑遮罩,则将通过向矢量渲染器添加有位图填充的正方形来绘制位图。 如果尝试将此属性设置为无效值,运行时会将此值设置为 LBlendMode.NORMAL。

Default: null

filters

Array public

Inherited from LDisplayObject: display/LDisplayObject.js:116

Available since 1.6.0

包含当前与显示对象关联的每个滤镜对象的索引数组。

Default: null

length

Int public

Inherited from LMedia: media/LMedia.js:15

Available since 1.7.0

LSound对象或LVideo对象的长度

LSound.webAudioEnabled

Boolean public static

Defined in media/LSound.js:31

Available since 1.9.0

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

mask

LDisplayObject public

Inherited from LDisplayObject: display/LDisplayObject.js:83

Available since 1.6.0

调用显示对象被指定的 mask 对象遮罩。要确保当舞台缩放时蒙版仍然有效,mask 显示对象必须处于显示列表的活动部分。但不绘制 mask 对象本身。将 mask 设置为 null 可删除蒙版。

Default: null

Example:

function main () {
    var loader = new LLoader();
    loader.addEventListener(LEvent.COMPLETE, loadBitmapdata); 
    loader.load("face.png", "bitmapData");
}
function loadBitmapdata (event) {
    var bitmapdata = new LBitmapData(event.target);  
    var bitmap = new LBitmap(bitmapdata);
    addChild(bitmap);
    var maskObj = new LSprite();
    maskObj.graphics.drawRect(0, "#ff0000", [10, 10, 150, 100]);
    bitmap.mask = maskObj;
}

objectIndex

Int public

Inherited from LObject: utils/LObject.js:11

Available since 1.6.0

对象的ID

parent

LDisplayObjectContainer public

Inherited from LDisplayObject: display/LDisplayObject.js:148

Available since 1.0.0

[只读] 表示包含此显示对象的 DisplayObjectContainer 对象。

使用 parent 属性可以指定高于显示列表层次结构中当前显示对象的显示对象的相对路径。

可以使用 parent 在显示列表中上移多个级别,如下所示:

this.parent.parent.x = 20;

Example:

var sprite1 = new LSprite();
sprite1.name = "sprite1";
var sprite2 = new LSprite();
sprite2.name = "sprite2";
var sprite3 = new LSprite();
sprite3.name = "sprite3";
sprite1.addChild(sprite2);
sprite2.addChild(sprite3);
trace(sprite2.parent.name); // sprite1
trace(sprite3.parent.name); // sprite2
trace(sprite3.parent.parent.name); // sprite1

playing

Boolean public

Inherited from LMedia: media/LMedia.js:25

Available since 1.7.0

LSound对象或LVideo对象是否正在播放

rotate

Float public

Inherited from LDisplayObject: display/LDisplayObject.js:74

Available since 1.6.0

表示 LDisplayObject 实例距其原始方向的旋转程度,以度为单位。从 0 到 180 的值表示顺时针方向旋转;从 0 到 -180 的值表示逆时针方向旋转。对于此范围之外的值,可以通过加上或减去 360 获得该范围内的值。例如,my_video.rotate = 450语句与 my_video.rotate = 90 是相同的。

Default: 0

scaleX

Float public

Inherited from LDisplayObject: display/LDisplayObject.js:37

Available since 1.6.0

表示从注册点开始应用的对象的水平缩放比例(百分比)。默认注册点为 (0,0)。1.0 等于 100% 缩放。

Default: 1

scaleY

Float public

Inherited from LDisplayObject: display/LDisplayObject.js:46

Available since 1.6.0

表示从对象注册点开始应用的对象的垂直缩放比例(百分比)。默认注册点为 (0,0)。1.0 是 100% 缩放。

Default: 1

transform

LTransform public

Inherited from LDisplayObject: display/LDisplayObject.js:125

Available since 1.9.8

一个对象,具有与显示对象的矩阵有关的属性。在 LTransform 类的条目中对特定属性 matrix 进行了说明。

transform 对象的每个属性本身都是一个对象。此概念很重要,因为设置 matrix 对象的新值的唯一方法是,创建新对象并将该对象复制到 transform.matrix 属性。

Example:

function main () {
    var square = new LSprite();
    square.graphics.drawRect(1, "#ff0000", [0, 0, 150, 100],true);
    addChild(square);
    square.addEventListener(LMouseEvent.MOUSE_UP, transformer);
}
function transformer(event) {
    var square = event.currentTarget;
    var tempMatrix = new LMatrix();
    tempMatrix.skew(0.3, 0).translate(30,50);
    square.transform.matrix = tempMatrix;
}

visible

Boolean public

Inherited from LDisplayObject: display/LDisplayObject.js:65

Available since 1.6.0

显示对象是否可见。不可见的显示对象已被禁用。例如,如果 LInteractiveObject 实例的 visible=false,则无法单击该对象。

Default: true

x

Float public

Inherited from LDisplayObject: display/LDisplayObject.js:17

Available since 1.6.0

表示 LDisplayObject 实例相对于父级 LDisplayObjectContainer 本地坐标的 x 坐标。如果该对象位于具有变形的 LDisplayObjectContainer 内,则它也位于包含 LDisplayObjectContainer 的本地坐标系中。因此,对于逆时针旋转 90 度的 LDisplayObjectContainer,该 LDisplayObjectContainer 的子级将继承逆时针旋转 90 度的坐标系。对象的坐标指的是注册点的位置。

Default: 0

y

Float public

Inherited from LDisplayObject: display/LDisplayObject.js:26

Available since 1.6.0

表示 LDisplayObject 实例相对于父级 LDisplayObjectContainer 本地坐标的 y 坐标。如果该对象位于具有变形的 LDisplayObjectContainer 内,则它也位于包含 LDisplayObjectContainer 的本地坐标系中。因此,对于逆时针旋转 90 度的 LDisplayObjectContainer,该 LDisplayObjectContainer 的子级将继承逆时针旋转 90 度的坐标系。对象的坐标指的是注册点的位置。

Default: 0

Events

LEvent.COMPLETE

Inherited from LMedia: media/LMedia.js:272

Available since 1.7.0

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

LEvent.COMPLETE

LEvent.ENTER_FRAME

[播放事件] 播放头进入新帧时调度。

LEvent.ENTER_FRAME

LEvent.ERROR

Inherited from LMedia: media/LMedia.js:284

Available since 1.10.1

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

LEvent.ERROR

LEvent.SOUND_COMPLETE

public

Inherited from LMedia: media/LMedia.js:278

Available since 1.7.0

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