a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 辦公 > Flash > 正文

Flash AS 入門教程 調入外部文本和加載外部mp3文件

2020-07-17 13:13:39
字體:
來源:轉載
供稿:網友

例如,我們要制作一個網絡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 高級教程"

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲免费视频在线观看 | 黄色香蕉网站 | 99这里只有精品 | 日韩av在线电影 | 中文字幕亚洲自拍 | 亚洲一区二区精品视频 | 午夜草逼| 国产99久久精品 | 高清有码| 99亚洲精品| 一区二区三区在线观看视频 | 羞羞视频在线免费 | 按摩高潮japanesevideo | 岛国伊人| 久久久99国产精品免费 | 日韩在线视频精品 | 国产最新网址 | 成人精品| 成人三级影院 | 欧美一区二区视频 | 久久中文字幕一区 | 红杏aⅴ成人免费视频 | 精品久久久久久久久久久久包黑料 | 精品国产一区二区在线 | 国产一区在线免费 | 中文字幕日韩在线 | 亚洲成人精品区 | 日韩综合在线 | 二区不卡 | 黄色网页大全 | 久久久99国产精品免费 | 影音先锋成人资源网 | 日批免费视频 | 蜜桃视频在线观看www社区 | 中文字幕在线看 | 欧美午夜理伦三级在线观看偷窥 | 日韩成人免费av | 欧美成人免费 | 特黄特黄a级毛片免费专区 亚洲国产成人在线视频 | 欧美日韩国产一区二区三区 | 久久精品在线 |