MP3音乐播放器-AS3、XML和列表框

MP3音乐播放器-AS3、XML和列表框,xml,actionscript-3,listbox,mp3,audio-player,Xml,Actionscript 3,Listbox,Mp3,Audio Player,我通过不同的网站编译了不同的代码,介绍了如何为我的网站创建自己的MP3播放器。按钮很好用。滑块、可视化工具和计时器都工作正常 我只需要listbox,以便它直接从XML文件playlist.XML中提取数据。我想我可能会使用一个类似于play按钮的函数,但它可以使每个新的.addItem都是我在xml中拥有的任何东西 以下是xml和列表框的代码: listbox.addItem({label:"Song1"}); listbox.addItem({label:"Song2"}); listbo

我通过不同的网站编译了不同的代码,介绍了如何为我的网站创建自己的MP3播放器。按钮很好用。滑块、可视化工具和计时器都工作正常

我只需要listbox,以便它直接从XML文件playlist.XML中提取数据。我想我可能会使用一个类似于play按钮的函数,但它可以使每个新的.addItem都是我在xml中拥有的任何东西

以下是xml和列表框的代码:

listbox.addItem({label:"Song1"});
listbox.addItem({label:"Song2"});

listbox.addEventListener (MouseEvent.CLICK, playList);

function playList(e:MouseEvent):void { 
    c.stop();
    c = s.play(0);
    tB3();
    txtTotalTime.text = timeCalculation(s.length);
    txtCurrentTime.text = timeCalculation (c.position);
    myTimer.start();
    seekSlider.minimum = 0;
    seekSlider.maximum = Math.floor(s.length);
    Volume();

}    
XML::

下面是列表框的代码:

listbox.addItem({label:"Song1"});
listbox.addItem({label:"Song2"});

listbox.addEventListener (MouseEvent.CLICK, playList);

function playList(e:MouseEvent):void { 
    c.stop();
    c = s.play(0);
    tB3();
    txtTotalTime.text = timeCalculation(s.length);
    txtCurrentTime.text = timeCalculation (c.position);
    myTimer.start();
    seekSlider.minimum = 0;
    seekSlider.maximum = Math.floor(s.length);
    Volume();

}    
我有其他代码在那里的其他功能,如搜索滑块,歌曲定时器,和音量

有人能告诉我如何从playlist.xml中提取信息,以便直接发送到列表框吗


谢谢您的帮助。

将您的xml格式如下所示

<song>
     <songtitle>Some title here</songtitle>
     <url> song name or url</url>
     <songtime> can add more data like above under each song</songtime>//example
</song> //copy above and add info for each song and save it as xml


var i:unit;
var songurl:URLRequest;
现在你必须把它们放在你的列表中

function xmlLoaded(event:Event):void{
myXML= XML(myLoader.data);
var firstsong:String = myXML..song.songtitle[0];
var firsturl:String = myXML..song.url[0];
songURL = new URLRequest(firsturl);

 for each (var song:XML in myXML..song){
 i++;
 var songtitle:String = song.songtitle.toString();
 var songtime:String = song.songtime.toString();
 var songurl:String = song.url.toString();
 list.addItem({label:i+". "+songtitle"-"+songtime, urlstring: songurl});
 }
现在,您只需加载歌曲url并播放它,然后创建一个函数,这样当您单击每个项目时,它就会更改url字符串并加载并播放它


您可以在xml文件中输入最多的歌曲信息,它应该会将它们加载到您的列表中。

您好,我尝试使用您输入的内容,但它只是又产生了一些错误。你能澄清一下列表的编码吗?我知道,标签正是为列表添加标签所需要的。如何从现有的xml中提取列表?我是否更改了xmlLoader,以便将其拉入URL字符串?抱歉,我对xml和AS3Hi的某些方面不太熟悉,我认为这是您所需要的,这是非常好的/详细教程youtube.com/watch?v=x7YRwFoZEt0
function xmlLoaded(event:Event):void{
myXML= XML(myLoader.data);
var firstsong:String = myXML..song.songtitle[0];
var firsturl:String = myXML..song.url[0];
songURL = new URLRequest(firsturl);

 for each (var song:XML in myXML..song){
 i++;
 var songtitle:String = song.songtitle.toString();
 var songtime:String = song.songtime.toString();
 var songurl:String = song.url.toString();
 list.addItem({label:i+". "+songtitle"-"+songtime, urlstring: songurl});
 }