中易网

怎么制作个性播放器

答案:7  悬赏:40  
解决时间 2021-10-14 12:23
  • 提问者网友:蓝琪梦莎
  • 2021-10-14 06:26
怎么制作个性播放器
最佳答案
  • 二级知识专家网友:三千妖杀
  • 2021-10-14 07:16

 网上看到很多类型的播放器,感叹别人技艺高超的同时,自己也下过尝试下,下面我们就学习如何用Flash制作个性播放器。这个播放器只能播放与该swf文件相同目录下的文件,因此在这里只能看到效果,不能加载文件。要测试这个播放器,请将这个swf与要播放的文件放到相同的目录中。

  这是一款播放器,它可以播放你硬盘上与该swf文件相同目录下的swf动画和mp3音乐文件,也可以用着图片浏览器。这款播放器的特点是,它本身并不包含任何影音及图片文件,而是动态地加载电脑硬盘上的文件。因此,通过本例,我们主要可以练习动态加载外部文件及其控制的方法。

  那么怎样打开外部文件呢?我们在用其它软件时,点击“打开”,都会弹出一个“打开”对话框,那么在flash中是否也可以作这样一个对话框呢?非常幸运,flash为我们提供了一个被称作FileReference的类实现了了这个功能。

  有了FileReference类,使得我们可以尝试制作这样一款播放器,好吧,现在我们就动手来实现它。

  我们首先把外形建起来吧。新建一flash文档,在第一层按下图绘制一个框架:

 

  创建如下图所示四个按钮:

 

  按下图提示制作:

 

  新建一层,将新制作的四个按钮元件按下图,放好:

 

  再建如下图所示5个按钮,制作方法与上面的四个一样,然后按上图,放好。

 

  还有其它的文字,点缀啊也都放到这一层,按上图做就行了。

  再建两个影片剪辑,注意这两个影片剪辑的注册点一定要放在左上角,这非常重要。如下图:

 

  然后将刚建的两个影片剪辑分别命名为:yl2、yl1,如图:

 

  接下来,新建一图层:然后画一矩形,如图:

 

  点击“修改”-“转换为元件”,将矩形转换为,影片剪辑。并在属性面板中,将该影片剪辑命名为:pm.

  新建一图层,画一个与刚才画的矩形大小位置相同的矩形。然后在该层上点右键,-“遮罩”。

  新建一图层,点击“文本”工具,画一个与上面矩形相同大小位置的文本框。在属性面板中,设置如下:动态文本,命名为:mp3_txt,多行,使用设备字体。设置好文字大小和字体,这个文本框是用来显示mp3的标签信息的,如歌曲名称,演唱者等。设置如下图:

 

  好,到现在为止,外观完成,接下来的事就是写代码了。

  下面的代码介绍可能会有点乱,没关系,在最后我会将代码集中提供出来的,如果你只想复制代码,可以跳过这一段(黑体字部分)。

  现在开始写代码,上面我们提到,FileReference类为我们提供了一个象windows打开窗口一样的对话框,那么要用这个类,我们就首先要引入这个类:

  新建一图层,取名为action,在第一帧,点右键,点“动作”,在动作窗口中输入:

  import flash.net.FileReference;

  先介绍一下FileReference,这个类,可以为我们打开象windows打开窗口一样的对话框,如图:

 

  通过上面一句代码引入该类后,就可以使用它了。我们用它打开“打开”窗口,(有点咬口),要用到该类的browse方法,语法如下:

  var fileRef:FileReference = new FileReference();

  fileRef.browse(fltype);

  这里我们注意到,browse()中带了一个参数:fltype,这个参数是指打开的文件类型。它是一个数组,它的格式为:

  fltype = [{description:"swf文件",extension: "*.swf"}];这是以打开swf文件为例的,这样在打开窗口中,则只会出现swf文件,要打开其它文件,参照此例。

  FileReference类还有一事件我们要用到,onSelect,如上图,在我们选择一个文件,然后点击“打开”时发生。

  FileReference的name属性,一个重要的属性,它将返回我们选中的文件的名称,其实这才是我们要的东西。

  好了。FileReference应用的完整代码如下:

  import flash.net.FileReference;

  var fltype:Array = new Array();

  var flname:String ;

  fltype = [{description:"swf文件",extension: "*.swf"}];

  var listener:Object = new Object();

  listener.onSelect = function(file:FileReference):Void {

  flname = file.name;

  }

  var fileRef:FileReference = new FileReference();

  fileRef.addListener(listener);

  fileRef.browse(fltype);

  实际这一段,我们得到的就是一个我们选择的文件名称:flname.

  在了解了FileReference以后,我们就可以来编写代码了。

  刚才我们已经在action层上写了一句:

  import flash.net.FileReference; 了。

  接下来是:

  var fltype:Array = new Array();

  var flname:String ;

  var i;

  这两句声明了文件类型的数组变量和文件名变量,后面要用的。还声明了一个变量i,后面也会用到。

  好,首先我们来加载swf文件,我们把代码写到,“swf文件“按钮上,点击”swf文件“按钮,打开动作面板,写下如下代码:

  on(release) {

  _root.i = 1;

  _root.fltype = [{description:"swf文件",extension: "*.swf"}];

  var listener:Object = new Object();

  listener.onSelect = function(file:FileReference):Void {

  _root.flname = file.name;

  _root.pm.loadMovie(_root.flname);

  _root.pm._x = 105;

  _root.pm._y = 63;

  _root.pm._xscale = 75;

  _root.pm._yscale = 70;

  }

  var fileRef:FileReference = new FileReference();

  fileRef.addListener(listener);

  fileRef.browse(fltype);

  _root.fd_bt._visible = false;

  _root.mp3_txt._visible = false;

  }

  on(rollOver) {

  var bsy:Sound = new Sound();

  bsy.attachSound("bs");

  bsy.start();

  }

  on(press) {

  var bsy:Sound = new Sound();

  bsy.attachSound("cs");

  bsy.start();

  }

  我们来解释一下,这些代码,第一句_root.i = 1;就是设置在时间轴第一帧声明的变量i第于1,它的作用就是告诉程序,现在点了”swf文件“按钮。

  接下来几句,调用了FileReference类,取得了文件名。有了文件名就好办了,用.loadMovie加载这个文件,并设置相关属性。这些属性就是控制加载的文件的大小各位置。

  接下来是,鼠标移过各点击按钮时,要加载的声音。

  通过这个按钮上代码,我们已经加载了一个swf文件到场景的pm元件上。接下来就是控制已加载的文件了。看看下面几个按钮,它们就是用来控制加载的文件的。

  先打开播放按钮,在动作面板中输入如下代码:

  on(release) {

  if (_root.i=1) {

  _root.pm.play();

  }

  看到i的作用了吧,假如i=1(假如点的是“swf文件“按钮),加载的文件开始播放。

  然后是暂停按钮,代码这样写:

  on(release) {

  if (_root.i=1) {

  _root.pm.stop();

  }

  快退按钮:

  on(release){

  if (i=1){

  var kj = _root.pm._currentframe + 10;

  _root.pm.gotoAndStop(kj);

  }

  停止按钮:

  on(release) {

  if (_root.i=1) {

  _root.pm.gotoAndStop(1);

  }

  快进按钮:

  on(release){

  if (i=1){

  var kt = _root.pm._currentframe - 10;

  _root.pm.gotoAndStop(kt);

  }

  加载swf文件就做完了,接下来是,加载图片文件,点击“图片文件”按钮,打开动作面板,输入:

  on(release){

  import flash.net.FileReference;

  _root.i = 2;

  _root.fltype = [{description:"图片文件",extension: "*.jpg;*.bmp;*.gif"}];

  var listener:Object = new Object();

  listener.onSelect = function(file:FileReference):Void {

  _root.flname = file.name;

  _root.pm.loadMovie(_root.flname);

  _root.pm._x = 105;

  _root.pm._y = 63;

  _root.pm._xscale = 20;

  _root.pm._yscale = 20;

  }

  var fileRef:FileReference = new FileReference();

  fileRef.addListener(listener);

  fileRef.browse(fltype);

  _root.fd_bt._visible = true;

  _root.mp3_txt._visible = false;

  }

  on(rollOver) {

 

全部回答
  • 1楼网友:慢性怪人
  • 2021-10-14 13:32

按照你自己喜欢的制作!

  • 2楼网友:不甚了了
  • 2021-10-14 12:30

你可以按照播放器提示做

  • 3楼网友:一袍清酒付
  • 2021-10-14 11:48

你自己喜欢的制作

  • 4楼网友:人间朝暮
  • 2021-10-14 10:24

用易语言吧 这个比较简单直观

  • 5楼网友:往事隔山水
  • 2021-10-14 09:14

网上有具体办法

  • 6楼网友:往事隔山水
  • 2021-10-14 08:46

按照步骤去做

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息