为音乐播放列表创建一个包含多个选项的数组

Posted

技术标签:

【中文标题】为音乐播放列表创建一个包含多个选项的数组【英文标题】:Make an array with multiple options for music playlist 【发布时间】:2011-10-12 20:00:14 【问题描述】:

我正在尝试使用该标签制作 html5 播放列表。我想将所有歌曲、它们的名称、描述等存储在一个数组中。不过我不知道如何很好地使用数组。

我现在的想法是这样的:

var songBase = '/songs/'
var playlist = ;
playlist = 
                        'Bleeding Love'             :   'Bleeding_love.mp3',
                        'Don\'t Forget'             :   'Dont_forget.mp3',
                        'Finish'                    :   'Finish.mp3',
                        'In the Rain'               :   'In_the_rain.mp3',
                        'Ready to Fall'             :   'Ready_to_fall.mp3',
                        'Realize'                   :   'Realize.mp3',
                        'Righted All Your Wrongs'   :   'Righted_all_your_wrongs.mp3',
                        'These Walls'               :   'These_walls.mp3'
                    

我真正需要做的是有两个以上的选择。我什至不知道如何从已有的数组中提取任何数据。

有什么想法吗?

【问题讨论】:

【参考方案1】:

从技术上讲,您在那里使用的是对象字面量 (),而不是数组 ([])。

您可以根据自己的目的使用对象字面量数组。

var playlist = [
  
    name: "Bleeding Love",
    file_name: "Bleeding_love.mp3"
  ,
  
    name: "Don't Forget",
    file_name: "Dont_forget.mp3"
  
]

然后您可以像这样访问这些:

playlist[1].file_name

或者在循环中:

for (var i=0; i<playlist.length; i++)    # i is array index
  for (var k in playlist[i])             # k is the key
    console.log(k+': '+playlist[i][k]);
  

【讨论】:

知道为什么这会返回错误Uncaught TypeError: Object #&lt;HTMLAudioElement&gt; has no method 'attr'var $player = $("audio#music-player")[0]; var i = 0; var curSong = playlist[i].src; $(".play-bt").click(function() $player.attr("src",curSong); ); 没有看到你的页面结构。发jsfiddle.net,我去看看。

以上是关于为音乐播放列表创建一个包含多个选项的数组的主要内容,如果未能解决你的问题,请参考以下文章

unity怎么播放多个音乐

Android 按文件夹列出音乐并播放

支持 .MIDI 文件的在线音乐播放器

我可以为所有活动创建一个功能,播放,暂停音乐

Android:如何停止这种音乐?

微信公众号文章音乐自动播放