《使用XML形式播放列表》由会员分享,可在线阅读,更多相关《使用XML形式播放列表(32页珍藏版)》请在金锄头文库上搜索。
1、使用使用XMLXML形式的播放列表形式的播放列表本节课目标本节课目标改进上节课的音乐播放器使用XML列表保存播放列表和乐曲信息XMLXML是什么是什么易于用的标记语言以.xml为后缀的文本文件能够在任何支持文本文件的程序里创建和编辑FlashFlash项目中项目中XMLXML的常见应用的常见应用使用RSS种子创建podcast创建博客应用与服务器软件通信创建程序标题及字幕视频和音频列表名词解释名词解释RSS也叫聚合RSS(也叫聚合内容,Really Simple Syndication)在线共享内容的一种简易方式通常在时效性比较强的内容上使用RSS订阅能更 快速获取信息,网站提供RSS输出,有
2、利于让用 户获取网站内容的最新更新。名词解释名词解释Podcast播客“播客”又被称作“有声博客”,是Podcast的中文直 译用户可以利用“播客”将自己制作的“广播节目”上 传到网上与广大网友分享XMLXML文件结构文件结构XMLXML文件结构文件结构开始开始在场景中添加more_btn和link_btn按钮用用XMLXML实例代替实例代替songListsongList数组数组删除songList数组用用XMLXML实例代替实例代替songListsongList数组数组新建变量跟踪当前选中的乐曲在图中位置新建两个变量:songCount和 songNum用用XMLXML实例代替实例代替s
3、ongListsongList数组数组新建XML和URLLoader对象 在新建的变量下,插入代码: songList_XML保存来自songlist.xml文件的数据 xmlLoaderURLLoader类的实例 使用使用URLLoaderURLLoader载入外部播放列表载入外部播放列表利用URLLoader类的load()方法把外部数据加载 到Flash项目中响应响应COMPLETECOMPLETE事件和事件和IO_ERRORIO_ERROR事件事件接着添加代码:响应响应COMPLETECOMPLETE事件和事件和IO_ERRORIO_ERROR事件事件创建xmlLoaded()和err
4、orHandler()函数 function xmlLoaded(event:Event):void 对变量songList_XML赋值 new XML(xmlLoader.data); 将事件侦听器移到xmlLoaded()函数中,并为两个新 按钮添加事件侦听器 setSongs();调用setSongs()函数响应响应COMPLETECOMPLETE事件和事件和IO_ERRORIO_ERROR事件事件创建xmlLoaded()和errorHandler()函数function errorHandler(event:IOErrorEvent):void songTitle.text = “X
5、ML loading error: “ + event;设置出错时显示的文字响应响应COMPLETECOMPLETE事件和事件和IO_ERRORIO_ERROR事件事件创建创建setsongs()setsongs()函数函数将原有的for循环语句移到setSongs()函数中, 并加以修改 function setSongs():void 创建创建setsongs()setsongs()函数函数将原有的for循环语句移到setSongs()函数中, 并加以修改 function setSongs():void for(var i = 0; i 6; i+) 外部XML文件中的乐曲数量不一定,需
6、要设置场景 中的六个按钮从从xmlxml数据里获得乐曲名称与艺术家数据里获得乐曲名称与艺术家function setSongs():void for(var i = 0; i 6; i+) var titleText:String = songList_XML.songi + songCount.name;var artistText:String = songList_XML.songi + songCount.artist;设置乐曲板的标题和艺术家信息设置乐曲板的标题和艺术家信息function setSongs():void for(var i = 0; i 6; i+) var tit
7、leText:String = songList_XML.songi + songCount.name; var artistText:String = songList_XML.songi + songCount.artist; var clipTitle = this“song“ + (i + 1).title; var clipArtist = this“song“ + (i + 1).artist; clipTitle.text = titleText; clipArtist.text=artistText; 更新更新choosesong()choosesong()函数函数将函数的sw
8、itch循环中对数组的操作修改为对 XML文件的操作 currSong=“./MP3s/“+songList0 as String;改为: songNum = 0; currSong = songList_XML.songsongNum+songCount.file;变量songNum使XML文件中能保存比场景中按 钮数量多的乐曲更新更新choosesong()choosesong()函数函数使用使用xmlxml数据创建超链接数据创建超链接在点击link_btn按钮时链接到相关网站在函数xmlLoaded()中,为link_btn按钮添加事 件侦听器 link_btn.addEventList
9、ener(MouseEvent.CLICK, iTunesLink);使用使用xmlxml数据创建超链接数据创建超链接实现iTunesLink()函数 function iTunesLink(e:MouseEvent):void 使用使用xmlxml数据创建超链接数据创建超链接实现iTunesLink()函数 function iTunesLink(e:MouseEvent):void var link:String = songList_XML.songsongNum + songCount.itunes; 使用使用xmlxml数据创建超链接数据创建超链接实现iTunesLink()函数 f
10、unction iTunesLink(e:MouseEvent):void var link:String = songList_XML.songsongNum + songCount.itunes; navigateToURL(new URLRequest(link), “_blank“); 打开保存在link中的URL并转到响应位置在乐曲列表里浏览在乐曲列表里浏览点击more_btn按钮会在乐曲面板中显示更多的 乐曲在函数xmlLoaded()中,为more_btn按钮添加 事件侦听器 more_btn.addEventListener(MouseEvent.CLICK, moreSong
11、s);在乐曲列表里浏览在乐曲列表里浏览实现moreSongs()函数 function moreSongs(e:MouseEvent):void 在乐曲列表里浏览在乐曲列表里浏览function moreSongs(e:MouseEvent):void if (songCount songList_XML.song.name.length()-6) songCount+; else songCount = 0; 在乐曲列表里浏览在乐曲列表里浏览function moreSongs(e:MouseEvent):void if (songCount songList_XML.song.name.length()-6) songCount+; else songCount = 0; setSongs(); 完成代码完成代码见0.bmp文件