AS3 video整理

源文地址:http://www.cnblogs.com/wayne23/archive/2010/07/15/1778077.html

AS3 CookBook学习整理(十三)

1. 控制视频声音

使用NetStream对象的soundTransform属性

package {
 import flash.display.Sprite;
 import flash.events.MouseEvent;
 import flash.media.SoundTransform;
 import flash.media.Video;
 import flash.net.NetConnection;
 import flash.net.NetStream;
 public class Sample0623 extends Sprite
 {
  private var ns:NetStream;
  
  public function Sample0623()
  {
   var nc:NetConnection = new NetConnection();
   nc.connect(null);
   ns = new NetStream(nc);
   ns.client = this;
   var video:Video = new Video();
   video.attachNetStream(ns);
   ns.play("demo.flv");
   stage.addEventListener(MouseEvent.CLICK,onClick);
   this.addChild(video);
  }
  
  private function onClick(event:MouseEvent):void
  {
   var transform:SoundTransform = ns.soundTransform;
   transform.volume = .2;
   ns.soundTransform = transform;
  }
  
  public function onMetaData(infoObject:Object):void
  {
   for(var proName:String  in  infoObject)
   {
    trace(proName+":"+infoObject[proName]);
   }
  }
 }
}

2. 获得播放时间(播放头)

使用NetStream对象的time属性,单位为秒。

textField.text = netStream.time + " seconds";

注意其值没有经过四舍五入,也就是说有时候得到数可能诸如5.235,如果需要整数,可使用Math.round(), Math.floor(), 或Math.ceil()

time属性是只读的

3. 获得视频总时间

使用onMetaData()回调函数读取duration源数据值,单位为秒

NetStream类没有定义一个属性指明视频长度,不过大多数情况,可以从flv文件的元数据获得长度值

当一个NetStream对象载入一个flv文件,它会自动调用onMetaData( )回调方法,该回调模型不同于ActionScript 3.0 API 中的一般事件模型,一般情况下我们通过使用addEventListener( ). 对一个事件进行监听,但是元数据事件必须为一个对象定义一个叫onMetaData( )方法,然后把这个对象赋值给NetStream对象的client属性。该方法自动传递一个类型为Object的关联数组,其包含flv文件的元数据信息

package {
 import flash.display.Sprite;
 import flash.media.Video;
 import flash.net.NetConnection;
 import flash.net.NetStream;
 public class Sample0623 extends Sprite
 {
  private var ns:NetStream;
  
  public function Sample0623()
  {
   var nc:NetConnection = new NetConnection();
   nc.connect(null);
   ns = new NetStream(nc);
   var client:Object = new Object();
   client.onMetaData = onMetaData;
   ns.client = client;
   var v
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值