`

视 频

 
阅读更多
//创建一个 NetConnection 对象
002
var netConnection:NetConnection = new NetConnection();
003
/*如果连接到没有使用服务器的FLV 文件,则通过向 connect() 方法传递值
004
null,来播放流式 FLV 文件*/
005
netConnection.connect(null);
006
/*创建一个 NetStream 对象(该对象将 NetConnection 对象作为参数)并
007
指定要加载的 FLV 文件*/
008
var netStream:NetStream = new NetStream(netConnection);
009
netStream.play("test.flv");
010
/*使用 Video 类的 attachNetStream() 方法附加以前创建的 NetStream
011
对象(视频实例名为vid)*/
012
vid.attachNetStream(netStream);
013
//音量初始值
014
var yl:Number = 0.5;
015
var nsyl:SoundTransform = new SoundTransform();
016
//nsyl.volume=yl
017

018
//播放进度与加载进度影片缩放为0
019
bfjd_mc.scaleX = jzjd_mc.scaleX = 0;
020
//申明变量播放与下载百分比以及总时间(秒)的初始值为0
021
var bf_percent:int = 0;
022
var xz_percent:int = 0;
023
var _duration:Number = 0;
024

025
//指定在其上调用回调方法的对象
026
var _client:Object = new Object();
027
_client.onMetaData = onMetaData;
028
netStream.client = _client;
029
//按钮可见性与添加侦听事件
030
play_btn.visible = false;
031
pause_btn.visible = true;
032
pause_btn.addEventListener(MouseEvent.CLICK, zt);
033
play_btn.addEventListener(MouseEvent.CLICK, bf);
034
//忽略错误
035
netStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
036

037
function asyncErrorHandler(event:AsyncErrorEvent):void {
038
}
039

040
//暂停
041
function zt(event:MouseEvent):void {
042
    play_btn.visible = true;
043
    pause_btn.visible = false;
044
    //视频暂停
045
    netStream.pause();
046
}
047

048
//播放
049
function bf(event:MouseEvent):void {
050
    play_btn.visible = false;
051
    pause_btn.visible = true;
052
    //恢复回放暂停的视频流
053
    netStream.resume();
054
    addEventListener(Event.ENTER_FRAME, gx);
055
}
056

057
//接收在正播放的 FLV 文件中嵌入的描述性信息时调度
058
function onMetaData(data:Object):void {
059
    _duration = data.duration;
060
}
061
//申明变量播放信号
062
var bfxh:String;
063
//侦听视频流的开始和末尾
064
netStream.addEventListener(NetStatusEvent.NET_STATUS, statusHandler);
065

066
function statusHandler(event:NetStatusEvent):void {
067
    bfxh = event.info.code;
068
}
069
//不断更新进度与文本的显示
070
addEventListener(Event.ENTER_FRAME, gx);
071

072
function gx(event:Event):void {
073
    if (netStream.bytesLoaded > 0){
074
        //加载进度
075
        xz_percent = netStream.bytesLoaded / netStream.bytesTotal * 100;
076
        jzjd_mc.scaleX = xz_percent / 100;
077
    }
078

079
    if (_duration > 0 && netStream.time > 0){
080
        //播放进度
081
        bf_percent = netStream.time / _duration * 100;
082
        bfjd_mc.scaleX = bf_percent / 100;
083
    }
084
    
085
    if (bfxh == "NetStream.Play.Stop"){
086
        //播放完毕时的设置
087
        bf_percent = 0;
088
        bfjd_mc.scaleX = 0;
089
        netStream.close();
090
        //netStream.pause();
091
        //netStream.seek(0); //将播放头置于视频开始处
092
        play_btn.visible = true;
093
        pause_btn.visible = false;
094
    }
095
    //文本显示内容
096
    bftxt.text = Math.round(netStream.time / 60) + ":" + Math.round(netStream.time % 60);
097
    zcdtxt.text = Math.round(_duration / 60) + ":" + Math.round(_duration % 60);
098
    //音量控制
099
    yl = (ylhk_mc.x - 345) / 50;
100
    ylt_mc.scaleX = yl;
101
    nsyl.volume = yl;
102
    netStream.soundTransform = nsyl;
103
}
104
//音量滑块拖动控制
105
var fw:Rectangle = new Rectangle(345, 328, 50, 0); //拖动范围
106
ylhk_mc.addEventListener(MouseEvent.MOUSE_DOWN, ylhkax);
107
ylhk_mc.addEventListener(MouseEvent.MOUSE_UP, ylhksk);
108
stage.addEventListener(MouseEvent.MOUSE_UP, ylhksk);
109

110
function ylhkax(event:MouseEvent):void {
111
    ylhk_mc.startDrag(false, fw);
112
}
113

114
function ylhksk(event:MouseEvent):void {
115
    ylhk_mc.stopDrag();
116
}
分享到:
评论

相关推荐

    一 个 视 频 控 件

    一 个 视 频 控 件, 播 放 多 种 视 频 文 件

    GB8898-2001音频 、视 频 及类似电子设备安全要求

    GB8898-2001音频 、视 频 及类似电子设备安全要求

    视 频 播 放 器

    视频播放器是数字媒体技术的重要组成部分,用于播放各种格式的视频和音频文件。在现代科技的推动下,视频播放器已经发展出了丰富的功能和优化的用户体验。以下将详细阐述视频播放器的相关知识点: ...

    大 涛 网 工 视 频 4 5 6,大 涛 网 工 视 频 4 5 6,

    《大涛网工视频4 5 6》是一系列关于网络通信的专业教学视频,主要涵盖了局域网(LAN)和城域网(MAN)以及无线通信网的基础知识。这一系列视频由知名讲师“大涛”主讲,旨在帮助学习者深入理解和掌握网络通信的核心...

    dwr真真的视 频!

    网上的dwr视频真的少!而且只是入门而已的视频!我找了很久!终于找到了! 案列你们自己找吧! 网上一大把! 我这里只传了个下载地址! 自己去下 ssh dwr整合都有!

    网 页 视 频 聊 天 室 源 码

    网页视频聊天室源码是构建在线实时交流平台的关键组成部分,它允许用户通过互联网进行音频和视频的互动。这种源码通常包含多个文件和组件,用于处理视频流、音频流、用户认证、房间管理以及与其他用户的交互。...

    ViewPager+Fragment打造滑动切换界面

    在Android应用开发中,`ViewPager`和`Fragment`是构建多页面滑动界面的重要组件,它们可以帮助我们实现优雅且流畅的用户体验。`ViewPager`通常用于展示一个可以左右滑动的视图容器,而`Fragment`则作为应用界面的...

    基于图卷积神经网络的织物分类研究.pdf

    在实验中,我们使用了30种不同的织物在风力吹动下的视 频作为实验数据,每一帧视 频作为一个图节点,然后根据视 频时序性连接同类织物节点的边。接着,我们使用图卷积神经网络对视颈单词进行分类处理。实验结果表明...

    设计模式作业(一些常见的练习)

    用工厂方法模式实现四则计算器。 建造者模式可以用于快餐店制作儿童餐。 典型的儿童餐包括一个主食、一个辅食一杯饮料和一个玩具(例如汉堡、炸鸡、可乐和玩具车)。这些在不同的儿童餐中可以是不同的,但是组合成儿童...

    NOKIA-VoLTE优化手册-v1.0

    换言之,4G 网络下不仅仅提供高速率的数据业务,同时还提供高质量的音视 频通话,后者便需要 VoLTE 技术来实现。VoLTE 是基于 IMS 语音业务,架构在 LTE 网络上全 IP 条件下的端到端 语音解决方案:

    陈广c#视频教程1-4

    《陈广C#视频教程1-4》是针对C#编程语言的一套全面学习资源,由知名讲师陈广精心打造,旨在帮助初学者快速掌握C#的基础知识和实际应用技巧。教程结合理论与实践,通过讲解和俄罗斯方块项目的实例,使学习者能够在...

    智能视频监控中的行人检测与跟踪方法

    智能视频监控是计算机视觉领域新兴的研究方向,它通过对摄像机拍摄的视 频图像序列进行自动分析来对被监控场景中的事物变化进行定位、跟踪和识别, 并以此对相关目标的行为进行分析和判别,在实现了日常管理工作的...

    基于 Vivado HLS 的 Canny 算法实时加速设计

    针 对 Canny 边 缘 检 测 算 法 在 实 时 图 ... 实 验 结 果 表 明 , 该 方 法 能 快 速 实 时 检 测 图 像 边 缘 , 有 效 降 低 FPGA 设 计 图 像 算 法 的 难 度 , 可 以 应 用 到实 时 视 频 图 像 处 理 中 。

    安防监控视频实时智能分析设备技术要求

    视频监控系统作为一种广泛使用的技术防范手段,在城市社会治安综合防控体系建设中的作用愈加 凸显。智能视频分析技术已成为视频监控系统的重要应用部分。 智能视频监控系统是以...频实时智能分析设备,特制定本标准。

    Android平台无线视频监控小车的设计

    单片机为硬件平台,通过无线路由器进行视频流的访问和对小车进行驱动,实现安卓手机无线访问小车摄像头进行视 频监控和操控小车行走。经过测试,无线遥控小车在 150m 的范围内可流畅地查看小车摄像头采集的视频...

    面板数据Critic客观赋权法,excel+stata程序及视频教程

    CRITIC方法是由Diakoulaki提出的一种客观权重赋权法。它的基本思路是 确定指标的客观权数以两个基本概念为基础。一是对比强度,它表示同一指标各个评价方案 ...3.计算全过程的视 频录像 有任何疑问可留言

    实验59 综合测试实验.rar

    验代码非常多,涉及 GUI(ALIENTEK 编写,非 ucGUI)、UCOSII、内存管理、图片解码、视 频解码(AVI)、音频解码(软解 WAV/MPE/APE/FLAC)、文件系统、USB(主机和从机)、IAP、 LWIP(TCP/UDP/Web Server)、陀螺...

    多媒体编程开发之FFmpeg基础库

    关于 FFmpeg 是多媒体程序核心开源库,涉及广播电视行业、视频监控行业、互联网视 频行业等,涉及流媒体、音视频编解码、容器、格式转换、以及后期处理等技术。 本书旨在让更多的人深入理解 FFmpeg 框架库,通过使用...

Global site tag (gtag.js) - Google Analytics