利用Flex的Sound类动态显示导入MP3文件时的ID3信息

下面的例子展示了在Flex中,如何利用Sound类动态读入MP3文件以及如何利用id3事件( Event.ID3)和Sound对象的id3属性取得MP3文件的ID3信息。
下面是完整的代码:
Download: load-Mp3-File-id3-information.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- http://blog.flexexamples.com/2008/03/05/displaying-a-dynamically-loaded-mp3-files-id3-information-in-flex/ -->
  3. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  4.         layout="vertical"
  5.         verticalAlign="middle"
  6.         backgroundColor="white">
  7.     <mx:Script>
  8.         <![CDATA[
  9.             import mx.utils.ObjectUtil;
  10.             private const URL:String = "http://www.helpexamples.com/flash/sound/song2.mp3";
  11.             private var sound:Sound;
  12.             private var soundLoaderContext:SoundLoaderContext;
  13.             private function loadSound(url:String):void {
  14.                 var urlRequest:URLRequest = new URLRequest(url);
  15.                 // Check policy file
  16.                 soundLoaderContext = new SoundLoaderContext(1000, true);
  17.                 sound = new Sound();
  18.                 sound.addEventListener(Event.ID3, sound_id3);
  19.                 sound.load(urlRequest, soundLoaderContext);
  20.                 textArea.text = "";
  21.             }
  22.             private function sound_id3(evt:Event):void {
  23.                 var id3Info:ID3Info = Sound(evt.currentTarget).id3 as ID3Info;
  24.                 textArea.text += ObjectUtil.toString(id3Info);
  25.                 textArea.text += "\n---------- ---------- ----------\n";
  26.             }
  27.         ]]>
  28.     </mx:Script>
  29.     <mx:ApplicationControlBar dock="true">
  30.         <mx:Button id="button"
  31.                 label="Load MP3"
  32.                 click="loadSound(URL);" />
  33.     </mx:ApplicationControlBar>
  34.     <mx:TextArea id="textArea"
  35.             editable="false"
  36.             width="100%"
  37.             height="100%" />
  38. </mx:Application>

你可能感兴趣的:(职场,休闲)