发新话题
打印

[基础] [原创] Meizu FLV视频播放器

[原创] Meizu FLV视频播放器

FLV视频播放器 终于做好了

和上次做的 Meizu 音乐播放器 同一个界面 ; XML列表  

先来看看效果:

     Meizu FLV视频播放器 : http://www.yiduren.com/meizu_flv

  (视频较大,请耐心等待片刻.)



由于附件大小问题,请自行在flv文件夹内添加flv文件,注意名称要与XML中相一致;


关于Meizu 音乐播放器请看这里: http://space.flash8.net/bbs/thread-345442-1-4.html


FLV相关的问题:
解决 FLV格式文件在本机能播放 , 上传到空间上却播放不了的情况
解决方法: 在主机的控制面板中添加MIME类型:扩展名添上".flv”   , 内容类型(MIME)添上"video/x-flv" 即可.

上一张图:





代码如下:
复制内容到剪贴板
代码:
////////////////////////////////////////
/////// Flash8.net  -- Kamanco      
////////////////////////////////////////
//声明
var p:Number = 0;
var total_num:Number = 0;
var title_array:Array = new Array();
var path_array:Array = new Array();
var uid_array:Array = new Array();
//视频初始化
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
my_video.smoothing = true;
my_video.attachVideo(ns);
ns.setBufferTime(5);
//解析XML
var my_xml:XML = new XML();
my_xml.ignoreWhite = true;
my_xml.load("list.xml");
my_xml.onLoad = function(success) {
if (success) {
  for (var d:Number = 0; d<this.firstChild.childNodes.length; d++) {
   title_array.push(this.firstChild.childNodes[d].attributes.title);
   path_array.push(this.firstChild.childNodes[d].attributes.path);
   uid_array.push(this.firstChild.childNodes[d].attributes.uid);
  }
  //获取总曲目数
  total_num = this.firstChild.childNodes.length;
  trace("total_num is :"+total_num);
  play_func();
} else {
  trace("加载出错!");
}
};

//播放函数
function play_func() {
ns.stop();
trace(uid_array[p]);
ns.play(path_array[p]);
trace("The flv path is:"+path_array[p]);
//trace(p);
how_txt.text = title_array[p];
num_txt.text = uid_array[p]+" / "+total_num;
}
//连续播放
ns.onStatus = function(infoObject) {
if (infoObject.code == "NetStream.Play.Stop") {
  trace("播放完成");
  if (p<total_num-1) {
   p++;
  } else {
   P = 0;
  }
  play_func();
}
};

//获取总时间
var flv_dur:Number = 0;
ns.onMetaData = function(infoObject:Object) {
flv_dur = infoObject.duration;
time();
};
function time() {
onEnterFrame = function () {
  //音量
  var vol:Number = vol_mc._x-178;
  my_sound.setVolume(Math.floor(vol*2.5));
  volume_txt.text = (Math.floor(vol*2.5));
  //进度显示
  my_mc._xscale = int(ns.time/flv_dur*100);
  //获取时间信息
  var ns_seconds:Number = ns.time;
  var minutes = Math.floor(ns_seconds/60);
  var seconds = Math.floor(ns_seconds%60);
  var total_min = Math.floor(flv_dur/60);
  var total_sec = Math.floor(flv_dur%60);
  //让时间显示格式为"00:00"
  minutes<10 ? (minutes="0"+minutes) : NULL;
  seconds<10 ? (seconds="0"+seconds) : NULL;
  total_min<10 ? (total_min="0"+total_min) : NULL;
  total_sec<10 ? (total_sec="0"+total_sec) : NULL;
  //显示时间信息   
  videotime_left.text = minutes+":"+seconds;
  videotime_right.text = total_min+":"+total_sec;
};
}

//音量控制区
this.createEmptyMovieClip("flv_audio",this.getNextHighestDepth());
flv_audio.attachAudio(ns);
var my_sound:Sound = new Sound(flv_audio);
vol_mc.onPress = function() {
this.startDrag(false,178,28,218,28);
};
vol_mc.onRelease = vol_mc.onReleaseOutside=function () {
stopDrag();
};
m_btn.onPress = function() {
getURL("http://www.yiduren.com");
};

//按钮功能区
//播放按钮
btn_play.onRelease = function() {
this.id = !this.id;
this.id ? (ns.pause(true)) and (how_txt.text="已暂停") : (ns.pause(false)) and (how_txt.text="正在播放");
};
//下一首.这里要判断当前播放曲目"p"与总曲目数的关系
btn_next.onRelease = function() {
trace("p is:"+p);
trace("total_num is"+totle_num);
if (p<total_num-1) {
  p++;
} else if (p=total_num-1) {
  Null;
} else {
  Null;
}
play_func();
};
//上一首.判断当前播放曲目"p"是否是第一首.
btn_prev.onRelease = function() {
p != 0 ? p-- : null;
play_func();
};
[ 本帖最后由 kamanco 于 2007-11-21 04:24 编辑 ]

附件

Meizu FLV视频播放器.rar (363.09 KB)

2007-11-21 12:24, 下载次数: 3543

FLASH Everyday

TOP

嘿嘿,不错!!支持一下,但好像楼主在哪里发过一次了?


那四个按钮的黑色背景区像

TOP

回复 #2 终极讨厌 的帖子

呵呵  谢谢斑竹支持

上次是个音乐播放器 http://space.flash8.net/bbs/thread-345442-1-4.html
FLASH Everyday

TOP

引用:
原帖由 终极讨厌 于 2007-11-21 12:27 发表
嘿嘿,不错!!支持一下,但好像楼主在哪里发过一次了?


那四个按钮的黑色背景区像
嘿嘿 好像广告里面经常提到的女用产品 防这个 防那个...

TOP

你 真的是及时雨啊 ··

TOP

有个问题 那就是FLV文件一般都比较大
有没有什么压缩的办法  ·~?

TOP

:lol :lol

TOP

回复 #6 emobaby 的帖子

我用 FLASH  CS3 的 Video Encoder 转了一个30多M的文件 输出只有5M 的FLV文件

感觉 FLV 不是很大啊
FLASH Everyday

TOP

出现了一点问题,想请教:
1. 声音拖动条失效
2. 播放时间为00:00

TOP

TOP

回复 #9 小电脑 的帖子

是不是修改了代码 ?  我也不不知道你改了什么地方
再下一个 对比一下就知道 了  仔细检查一下  
多练习  然后自己独立做一下
FLASH Everyday

TOP

简洁啊,很漂亮,我最近也在做,不知怎么回事,这个FLV文件开使能播放出来,现在只出声音,不见图象,
谁能给测一下,感激不禁,

附件

1.rar (888.24 KB)

2007-11-21 21:34, 下载次数: 887

TOP

回复 #11 kamanco 的帖子

不好意思,我没有做任何的修改.
我是直接运行你的文件,但是出现了我上面说的那种情况.

TOP

回复 #13 小电脑 的帖子

用Flash player 9.0 播放 试下
FLASH Everyday

TOP

是FLV文件的问题。
我换了一个FLASH8例子里自带的FLV文件,就显示正常了。
多谢 kamanco !

TOP

收藏先
谢谢楼主

TOP

强,谢谢

TOP

提示: 作者被禁止或删除 内容自动屏蔽

TOP

很不错,如果支持拖放就很好了,进度条是个摆设

TOP

楼主的播放器很好
不过有个问题,就是播放速度,我建议你的FLV地址最好这样获取:
申请个视频空间博客,上传视频到里面,再用FLV地址嗅探器获取地址,添加到XML,这样速度要快点,同时是自己博客,地址也不会失效。

TOP

发新话题