Flash AS 入门教程 调入外部文本和加载外部mp3文件

所属分类: 媒体动画 / Flash教程 阅读数: 54
收藏 0 赞 0 分享

例如,我们要制作一个网络mp3播放器,网络mp3的地址和曲名我们都可以保存在一个文本中,要添加或者修改网络mp3的地址或曲名,我们只需要在这个文本进行编辑就可以了。源文件下载

  本节知识要点

  1、LoadVars 类

  LoadVars 类是 loadVariables() 函数的替代方法,用于在 Flash 应用程序和服务器之间传输变量。可以使用 LoadVars 类在下载时获取成功数据加载、进度指示和流数据的验证信息。

  2、LoadVars.load()

  LoadVars类的方法,my_lv.load(url):从指定的 URL 下载变量,分析变量数据,并将结果变量放在 my_lv 中。

  3、LoadVars.onLoad

  LoadVars类的事件处理函数,用法:

 my_lv.onLoad = function(success) {
 // 此处是您的语句
 }

  success 该参数指示加载操作是成功完成 (true) 还是以失败结束 (false)。如果该操作成功,my_lv 将填充为该操作所下载的变量,而这些变量将在调用此处理函数时变为可用。

  4、my_str.split("delimiter", [limit])

  拆分字符或字符串的方法。delimiter 拆分 my_str 所依据的字符或字符串。limit 要放入数组中的项目数。此参数是可选的。

  在指定的 delimiter 参数出现的所有位置断开 String 对象,将其拆分为多个子字符串,然后以数组形式返回这些子字符串。

  5、my_sound.loadSound("url", isStreaming)

  方法;将 MP3 文件加载到 Sound 对象中。可以使用 isStreaming 参数指示该声音是事件声音(false)还是声音流(true)。事件声音在完全加载后才能播放;声音流在下载的同时播放。当接收的数据足以启动解压缩程序时,播放开始。

  6、Sound.onSoundComplete用法:


复制代码
代码如下:

my_sound.onSoundComplete = function(){
      // 此处是您的语句
     }


  事件处理函数;当声音播放完时自动调用。您可以使用此处理函数在声音播放完毕后触发 SWF 文件中的事件。

  例题--简单网络mp3播放器

  点击查看动画效果<

  制作思路:

  1、把网络mp3的地址和对应曲名分别作为一个字符变量保存在文本文件中,把两个mp3的地址之间用“,”隔开,两个曲名之间也用“,”隔开;

  2、再用loadVars类的事件处理函数my_lv.onLoad把这个文本中的两个变量调入my_lv中;

  3、然后把my_lv中的两个变量利用my_str.split("delimiter", [limit])根据“,”分拆为两个数组(网络mp3的地址和曲名);

  4、利用my_sound.loadSound("url", isStreaming)从网络mp3的地址的数组中加载mp3;用动态文本显示从曲名的数组中选择出的对应曲名;

  5、用Sound事件处理函数my_sound.onSoundComplete,在播放完一曲后,自动加载下一曲。

  注意:外部文本文件应该和加载它的swf文件在同一文件夹下,或者在同一网络下。

  打开3.10.fla文件:

  在第1帧上的AS脚本:


复制代码
代码如下:

 System.useCodepage = true;
      //使用运行播放器的操作系统的传统代码页来解释外部文本文件,避免出现乱码
 ming = [];          //定义(歌名)数组
 dizhi = [];         //定义mp3的网络地址数组
 var myLoad = new LoadVars();//定义LoadVars这个类
 myLoad.load("yinyue.txt"); //指定LoadVars载入yinyue.txt这个文件
 myLoad.onLoad = function(success) { //载入LoadVars类的事件处理函数
  if (success) {          //如果载入成功
   dizhi = this.dizhi.split(",");
    //把存入myLoad的外部文本yinyue.txt中变量dizhi中以“,”分隔的部分作为数组dizhi的元素
   ming = this.geming.split(","); //同上类似
   shu = ming.length;      //用变量shu保存数组ming的长度
  }
 };
  mySound = new Sound();     //创建 Sound 对象。
  i = 0;             //初始化变量i
  function diaoyy(gm, mp3) {   //设置自定义函数,函数名为diaoyy
   bian = i+1+".";       //给动态文本赋值(歌曲编号)
   txt = gm;          //给动态文本赋值(歌曲名)
   mySound.stop();        //停止前面的播放
   mySound.loadSound(mp3, true);//按声音流调网络歌曲mp3
   mySound.start();      //开始播放调入的网络歌曲mp3
   mySound.onSoundComplete = function() { //当音乐播放完毕时执行下面的命令
     i++;
     if (i == shu) {        //变量i等于歌曲总数时
      i = 0;
     }
    diaoyy(ming[i], dizhi[i]);  //调自定义函数(歌曲名,网络地址)
   };
  }

  在“播放”按扭上的AS脚本:


复制代码
代码如下:

 on (release) {
  diaoyy(ming[i], dizhi[i]);  //调自定义函数(歌曲名,网络地址)
 }

  作业

  1、由3.9.fla文件上其它几个按扭添加脚本(根据按扭名称),使这个播放器增加随机播放与顺序播放;播放上一曲或者下一曲;暂停和停止功能,如下图。

  点击查看动画效果<

  2、由3.9.fla文件进行改动,使播放器有下图所具有的功能.

  点击查看动画效果<

  查看全套"Flash AS 高级教程"

更多精彩内容其他人还在看

Flash cs3绘制人物高级行走动画教程

本教程向大家介绍Flash cs3绘制人物高级行走动画效果,教程难度不是很大,绘制方法及过程介绍的也非常详细,教程很实用,转发过来,希望大家喜欢
收藏 0 赞 0 分享

Flash CS4来制作漂亮的气泡动画教程

本教程向脚本之家的朋友介绍用Flash CS4来制作漂亮的气泡动画,制作出来气泡真的很好看,制作效果是采用代码形式实现,觉得很不错,转发过来,感兴趣的朋友可以一起来学习
收藏 0 赞 0 分享

flash基础教程:帧、关键帧、空白帧概念及区别介绍

动画的产生是帧来实现的,那什么是帧?帧、关键帧和空白帧之间又有什么区别?本文就为大家介绍一下三者之间的关系
收藏 0 赞 0 分享

Flash教程:动画背景的绘制方法之透视篇(给新手)

Flash动画在网络上的广泛传播,已经成为上网一族喜闻乐见的一种艺术形式。动画背景的绘制方法有很多,也有很多表现方法。这里将结合透视学的基础知识向大家简单的介绍一下动画背景的绘制。
收藏 0 赞 0 分享

Flash AS入门教程:Flash AS3.0制作有年份有日期的时钟

本教程是向大家介绍利用Flash AS3.0制作有年份有日期的时钟,虽然制作时钟老套了点,但它确可以较全面地应用到时间日期和间隔等知识,仍不失为较好的入门练习,转发给大家,希望对大家有所帮助
收藏 0 赞 0 分享

Flash相册制作大师具体该如何使用 Flash相册制作大师使用教程

在本文中我们将会看到的是Flash相册制作大师的具体使用的方法
收藏 0 赞 0 分享

flash基础教程:混色器面板图文介绍

混色器面板是Flash中用于色彩处理的一个重要面板,熟练地使用该面板,可以帮助用户快速地完成色彩的填充,编辑出色彩丰富的图形。本教程为大家详细介绍一下混色器面板,希望对大家有所帮助
收藏 0 赞 0 分享

25个绝对让你应接不暇的Flash网站创意

在Web设计过程中,运用成熟的Flash技术可以把你任意想到的idea表现到产品页面中。这里为你整理发现了25个绝对让你应接不暇的 Flash网站创意,更好地体现网站的互动应用,同时可以让你大饱眼福,一起来欣赏吧
收藏 0 赞 0 分享

教你用Flash制作非常酷的二进制时钟动画

今天在这个教程中我们将学习用Flash做一个不同寻常的,但非常酷的时钟:一个二进制时钟,中间用到了代码,但介绍地很详细,相信很值得大家学习
收藏 0 赞 0 分享

Flash动画特效制作技巧:制作超酷的文字炸开动画效果

本教程向大家介绍Flash动画特效制作技巧,本实例是制作文字炸开的动画效果,制作效果非常酷,制作过程也比较简单,喜欢的朋友可以过来学习一下这种制作方法
收藏 0 赞 0 分享
查看更多