用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Fms教程>列表

Flv网络播放器制作全攻略

[来源:闪客无忧 | 作者:佚名 | 时间:2008-04-04 | 点击:  | 收藏本文  【 】]


图1-10 如图1-10,我们在第一帧上写上代码:
stop();
var vol = 100;

第二帧上写上代码:
vol = 0;

返回场景,将该元件的实例名命名为vSound,选择层action的第一帧,输入以下代码:
vSound.attachAudio(ns);
var video_sound:Sound = new Sound(vSound);
vSound.onRelease = function(){
if(this.vol == 100){
video_sound.setVolume(0);
this.gotoAndStop(2);
}else{
video_sound.setVolume(100);
this.gotoAndStop(1);
}
}

Ctrl+Enter测试一下。这里需要说明一下,其实只建立一个Sound对象就可以控制声音了,但是如果不指定是谁的声音时,他控制的是根影片的音量,因此这里将ns中的声音引入到vSound影片剪辑当中,然后指定video_sound对象控制的是vSound影片剪辑当中的声音。

 

 *****************************第七步:*****************************

我们的播放器总算有模有样了,不过还缺少样东西。大家在播放流媒体的时候,是不是常常会见到缓冲?没错,就是缓冲。还等什么,赶快动手。 首先,我们在层video和controlBar之间新建一层并命名为buffer,然后用矩形在舞台上绘制一个320*240的黑色矩形,将其和video的位置对齐,正好能挡着video。然后我们按F8将其转换给影片剪辑,并命名其实例名为buffer_mc。双击进入编辑状态,新建一层名为text,用文字工具输入文字:视频缓冲中。并将其转换为元件创建一个Alpha渐变的动画,如图1-11:


图1-11
返回场景,选择层action,输入一下代码:
//设置ns缓冲时间为15秒
ns.setBufferTime(15);
//创建ns的onStatus处理函数,详细请查看帮助文档
ns.onStatus = function(info:Object){
//当缓冲为满的时候,buffer_mc隐藏
if(info.code == "NetStream.Buffer.Full"){
buffer_mc._visible = false;
}
//当缓冲空的时候,buffer_mc显示
if(info.code == "NetStream.Buffer.Empty"){
buffer_mc._visible = true;
}
//当视频播放结束时,重新播放
if(info.code == "NetStream.Play.Stop"){
ns.seek(0);
}
}
OK,导出测试一下。

 

*****************************第八步:*****************************

下面我们来给播放器做个右键菜单(;^ ^)首先,在action层第一帧输入一下代码:
var myMenu:ContextMenu = new ContextMenu();
myMenu.hideBuiltInItems();
这里我们自定义了一个myMenu为新的ContexMenu对象,然后我们使用hideBuiltInItems()方法将“设置”和“版权声明”以外的选项都隐藏起来。导出测试一下。 然后我们再输入以下代码:
var i1:ContextMenuItem = new ContextMenuItem("::::: Video Controls :::::",trace);
var i2:ContextMenuItem = new ContextMenuItem("Play / Pause",pauseIt,true);
var i3:ContextMenuItem = new ContextMenuItem("Replay",replayIt);
var i4:ContextMenuItem = new ContextMenuItem("Select a Flv files",selectIt,true);
var i5:ContextMenuItem = new ContextMenuItem("Copyright 2006 Sailon",trace,true);
myMenu.customItems[0] = i1;
myMenu.customItems[1] = i2;
myMenu.customItems[2] = i3;
myMenu.customItems[3] = i4;
myMenu.customItems[4] = i5;

定义i1-i5为新的ContexMenuItem,并在该构造函数中填入相应的参数,具体的参数说明可以查看帮助文档^_^ 然后我们将myMenu的属性coustomItems(数组)赋给i1-i5。 好,现在我们定义好了菜单,下面我们给所对应菜单写上方法,代码如下:
import flash.net.FileReference;
//播放暂停方法
function pauseIt() {
ns.pause();
}
//重放方法
function replayIt() {
ns.seek(0);
}
//选择Flv方法 function selectIt(){
var listener:Object = new Object();
listener.onSelect = function(file:FileReference):Void {
trace("Opened " + file.name); playVideo(file.name);
}
listener.onCancel = function(file:FileReference):Void {
trace("User cancelled");
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
fileRef.browse();
}
这里需要说明一下,selectIt()方法在选择flv文件后会触发playVideo()方法,因此我们这里还需要修改步骤一的代码。将步骤一的代码修改如下:
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
var myVideo:Video;
myVideo.attachVideo(ns);
function playVideo(video){

上一页 1 2 34 下一页
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:Flash Com Actionscript 介绍
下一篇:FCS阅读笔记31 服务器集群和负载均衡
Tags:     Flv网络播放器制作 攻略
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·FMS在线客服系统(客户端篇)
·FMS在线客服系统(fms脚本)
·FMS在线客服系统(分析篇)
·分布式的Flash Media Server: Gr
·基于SharedObject 3*3数组 做的M
·用flex做的 多服务器 im 及 源码
·基于SharedObject做的房间列表和
·fms 2.0A星寻路
·FMS音频延迟分析
·fms中介函数
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flex 3 AdvancedDataGrid的使用(第二
·全Flash动画网站实现的基础教学
·flash水影效果字
·Flash打造简单的飘雪动画视觉特效
·FLASH+XML相册(附源码)
·超酷flash光晕移动效果
·Flash旋转拖尾文字效果的制作教程
·Flash制作大雪纷飞效果动画
·flash春雷闪电效果
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号