首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在面向对象的HTML5 JS音频播放器中显示可点击的播放列表?

在面向对象的HTML5 JS音频播放器中显示可点击的播放列表,可以通过以下步骤实现:

  1. 创建一个HTML页面,包含一个音频播放器的容器和一个用于显示播放列表的容器。
  2. 使用HTML5的<audio>标签创建音频播放器,并设置其相关属性,如音频源、控制按钮等。
  3. 在JavaScript中,创建一个名为AudioPlayer的类,用于管理音频播放器的功能。
  4. AudioPlayer类中,创建一个名为playlist的数组,用于存储播放列表的歌曲信息。
  5. AudioPlayer类中,创建一个名为renderPlaylist的方法,用于将播放列表渲染到页面上的播放列表容器中。
  6. renderPlaylist方法中,遍历playlist数组,为每个歌曲创建一个可点击的元素,并添加点击事件,点击时调用playSong方法播放对应的歌曲。
  7. AudioPlayer类中,创建一个名为addSong的方法,用于向播放列表中添加歌曲。
  8. addSong方法中,接收歌曲信息作为参数,将其添加到playlist数组中,并调用renderPlaylist方法更新播放列表的显示。
  9. 在页面加载完成后,实例化AudioPlayer类,并调用renderPlaylist方法初始化播放列表的显示。
  10. 用户点击播放列表中的歌曲时,调用playSong方法,根据歌曲信息设置音频播放器的音频源,并开始播放。

以下是一个示例代码:

代码语言:html
复制
<!DOCTYPE html>
<html>
<head>
  <title>音频播放器</title>
  <style>
    .playlist-item {
      cursor: pointer;
    }
  </style>
</head>
<body>
  <div id="audioPlayer"></div>
  <div id="playlistContainer"></div>

  <script>
    class AudioPlayer {
      constructor() {
        this.playlist = [];
      }

      renderPlaylist() {
        const playlistContainer = document.getElementById('playlistContainer');
        playlistContainer.innerHTML = '';

        this.playlist.forEach((song, index) => {
          const playlistItem = document.createElement('div');
          playlistItem.className = 'playlist-item';
          playlistItem.textContent = song.title;
          playlistItem.addEventListener('click', () => this.playSong(index));
          playlistContainer.appendChild(playlistItem);
        });
      }

      addSong(song) {
        this.playlist.push(song);
        this.renderPlaylist();
      }

      playSong(index) {
        const audioPlayer = document.getElementById('audioPlayer');
        audioPlayer.src = this.playlist[index].source;
        audioPlayer.play();
      }
    }

    // 示例歌曲信息
    const songs = [
      { title: '歌曲1', source: 'song1.mp3' },
      { title: '歌曲2', source: 'song2.mp3' },
      { title: '歌曲3', source: 'song3.mp3' }
    ];

    // 页面加载完成后初始化音频播放器和播放列表
    window.addEventListener('DOMContentLoaded', () => {
      const audioPlayer = new AudioPlayer();

      songs.forEach(song => {
        audioPlayer.addSong(song);
      });
    });
  </script>
</body>
</html>

在上述示例代码中,我们创建了一个AudioPlayer类,其中包含了管理音频播放器和播放列表的功能。通过调用addSong方法,可以向播放列表中添加歌曲,并通过点击播放列表中的歌曲,调用playSong方法播放对应的歌曲。播放列表的渲染和更新通过renderPlaylist方法实现。

请注意,这只是一个简单的示例,实际应用中可能需要根据具体需求进行扩展和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

网站这样引入一款简洁而功能强大的音乐播放器

H5播放器介绍 APlayer 是一个简洁漂亮、功能强大的 Html5 音乐播放器 MetingJS 是为 APlayer 添加网易云、QQ音乐、酷狗音乐等支持的插件 安装教程 安装很简单,一共需要调用三个文件...代码中: 参数 container 值为 document.getElementById('aplayer') 意思是定义当前播放器容器 id 为 aplayer 参数 audio 中有 4 个子参数...,定义关于音频的相关参数: 参数 name 定义音频名称 参数 artist 定义艺术家名 参数 url 指向音频文件的地址 参数 cover 指向音频封面的地址 然后,在需要使用播放器的地方,将容器...的 id 设置为参数 container 中设定的值即可 MetingJS 的用法 前面已经看到,APlayer 原生用法设置参数十分繁琐,而且只能调用音频文件直链,增加服务器开销。...id ,一般可以在地址栏中找到 当 type 选择的是个播放列表时,生成的播放器是这样的: 播放列表默认是打开的,你可以使用参数 listFolded="true" 使其默认折叠 当你设定 fixed=

2K40
  • HLS.js:过去,当下和未来

    是一款由苹果公司开发的,在浏览器中播放 HLS 的视频播放器。...在最近,苹果发布了 Safari 浏览器中的低延时 HLS(LL-HLS),同时在其他浏览器中实现了基于 HLS.js 的播放器。...来自 SourceBuffer 对象的数据作为解码和播放的音频、视频和文本数据的曲目缓冲区进行管理。与这些扩展一起使用的字节流规范可在字节流格式注册表 [MSE-registry] 中找到。...您可以使用新的 EXT-X-PART 标记将部分片段添加到媒体播放列表中。你可以在父段边界处放置其他视频段标记(如EXT-X-DISCONTINUITY)。...阻止播放列表重新加载,可消除播放列表轮询。 预加载提示和阻塞媒体下载 在全球范围内交付低延迟流时,消除不必要的往返至关重要。

    5.4K51

    34.2K Star开源macOS上最好的现代视频播放器,不接受反驳

    功能特点 1.现代界面:IINA 的用户界面简洁而现代化,具有可定制的外观,并支持黑暗模式,让用户享受优雅的播放体验。...2.完整格式支持:该播放器支持几乎所有流行的音频和视频格式,包括但不限于 MP4、MKV、AVI、FLAC、MP3 等。...4.自定义设置:在 IINA 窗口的顶部菜单栏中,点击 "Preferences" 菜单,可以调整视频、音频、字幕等各种参数设置,以满足个人需求。...5.流媒体播放:在 IINA 中,点击 "File" 菜单,然后选择 "Open URL",输入流媒体链接,如 YouTube 视频链接,即可播放在线内容。...6.使用播放列表:在 IINA 主界面左侧边栏中,点击播放列表按钮,创建或添加媒体文件,然后点击文件以播放,可以自由管理播放列表内容。

    91210

    hexo-butterfly-音频视频播放器嵌入

    更新记录 2021-01-06 基于hexo-butterfly主题扩展:引入音频播放器、douban组件引入 hexo-butterfly-音频视频播放器嵌入 1.音乐引入 开发说明 ​ 实现引入有两种方式...data-lrctype 0 歌词格式类型 data-listfolded false 指定音乐播放列表是否折叠 data-storagename metingjs LocalStorage 中存储播放器设定的键名...340px 播放列表的最大长度 data-preload auto 音乐文件预载入模式,可选项: none, metadata, auto data-theme #ad7a86 播放器风格色彩设置...局部引用 # 插件会在每个文件中都插入js、css,3.0版本中内置了aplayer依赖的js、css,需要进行相应配置 # 1.项目根目录主配置文件_config.yml文件中配置asset_inject...aside: true # 是否显示侧边栏 path: books # 生成的网址地址: 默认为/blog/设定的path 可自定义分级管理 limit: movie: title

    2.2K20

    videojs播放器插件使用详解

    HLS是苹果公司实现的基于 HTTP 的流媒体传输协议,全称 HTTP Live Streaming,可支持流媒体的直播和点播,主要应用在 iOS 系统,为 iOS 设备(如 iPhone、iPad)提供音视频直播和点播方案...如播放按钮,必须点击一次播放按钮后播放按钮的提示文字才会改变 */ //player.language('zh-TW'); 6.2、vue开发 import Video from...muted 类型: boolean 默认情况下会静音任何音频。 poster 类型: string 在视频开始播放之前显示的图像的URL。这通常是视频的框架或自定义标题屏幕。...在Video.js中了解有关语言的更多信息。 languages 类型: Object 自定义播放器中可用的语言。此对象的键将是语言代码,值将是具有英语键和翻译值的对象。...此选项将用于Video.js(即video.novtt.js)的“novtt”版本中。否则,vtt.js与Video.js捆绑在一起。 组件选项 Video.js播放器是一个组件。

    53.3K117

    Winform零基础入门教程-开发美女音乐播放器软件 程序员

    其中基础部分已经讲解完毕,可以查看:电脑编程入门(10)-C#面向对象编程浅聊,一起自学软件开发 这是学习电脑编程的第二部分,带领你一起开发电脑桌面应用程序的第三课。...上一课链接:小白学编程实战项目-利用Winform开发美女音乐播放器 上节课实现了图片的幻灯片切换效果,也就是不断的进行图片的切换。主要是Timer控件的使用。鞋面开始正题,进行音乐播放。 ?...美女播放器界面 播放音乐 要实现播放音乐只需指定文件的url,以及调用播放事件即可: ? 播放音乐 但是一般播放器都有个播放列表,所以咱们也实现一下。...播放列表 通过点击界面的添加音乐按钮,去选择mp3文件,添加到ListBox中。 文件对话框 ? 文件对话框使用 ? 界面显示 获取选中的文件,添加到listbox: ? 播放列表处理 效果: ?...下节继续完善播放器,实现歌词显示,下一曲,上一曲等效果。 END.

    1.2K60

    html5视频常用API接口「建议收藏」

    (即播放完后继续重新播放) preload preload 设置是否等加载完再播放 src url 设置要播放视频的url地址 poster imgurl 设置播放器初始默认显示图片 autobuffer...) played 当前播放部件已经播放的时间范围(TimeRanges对象) preload 页面加载时是否同时加载音视频 readyState 返回当前的准备状态 seekable 返回当前可跳转部件的时间范围...对象) controller 返回当前的媒体控制器(MediaController对象) controls 显示播控控件 crossOrigin CORS设置 currentSrc 返回当前媒体的URL...durationchange 当音频/视频的时长已更改时触发。 emptied 当目前的播放列表为空时触发。 ended 当目前的播放列表已结束时触发。...seeked 当用户已移动/跳跃到音频/视频中的新位置时触发。 seeking 当用户开始移动/跳跃到音频/视频中的新位置时触发。 stalled 当浏览器尝试获取媒体数据,但数据不可用时触发。

    4.1K20

    13款用于Web的流行HTML5视频播放器

    HTML5视频播放器常用于在Chrome、Edge、Firefox、Safari等浏览器和其他支持HTML5视频播放的平台(如三星和LG电视)上播放视频。...在外观样式上,VideoJS可高度自定义,开源社区中有非常多的皮肤可以选用。Multi-DRM、广告插入、字幕等大多数重要的功能都可以通过插件配置到播放器中。...但是另一方面,如果在使用播放器时遇到困难,你必须依靠开源社区的帮助。 3 Clappr Clappr是一款开源、可扩展的免费HTML5视频播放器,用于在HTML5中播放视频内容。...你可以在这里查看它的所有功能:https://github.com/video-dev/hls.js/#features 想要访问播放器的托管demo,请点击:https://hls-js.netlify.app...作为跨设备的HTML5视频和音频播放器,它能够显示HLS、DASH或progressive(边下载边播放)下载内容。

    6.6K20

    简单易用、轻松定制的HTML 视频播放器

    videojs/video.js[1] Stars: 36.1k License: NOASSERTION Video.js 是一个为 HTML5 世界而构建的网络视频播放器。...它支持 HTML5 视频和媒体源扩展,以及其他回放技术 (如 YouTube 和 Vimeo)。该项目于2010年中期开始,并且现在已经被超过 700,000 个网站使用。...Stars: 24.2k License: MIT Plyr 是一个简单、轻量级、易于访问和可定制的 HTML5、YouTube 和 Vimeo 媒体播放器,支持现代浏览器。...支持 HTML 视频和音频,以及 YouTube 和 Vimeo 可访问性 - 完全支持 VTT 字幕和屏幕阅读器 可定制化 - 使用您想要的标记使播放器看起来符合您的要求 干净的 HTML - 使用正确元素...Clappr 是一个可扩展的网络媒体播放器。

    50930

    ❤️使用 HTML、CSS 和 JS 创建在线音乐播放器(含免费完整源码)❤️

    直接跳到末尾 获取完整源码 今天我将带着大家使用 HTML、CSS 和 JS创建 音乐播放器,没有使用任何其他库。我们的音乐播放器具有三个部分。主屏幕、播放器部分和播放列表部分。...active也从播放列表部分删除类。 现在让我们 JS 使这个音乐应用程序功能齐全。 ✨ navigation 导航部分 我们的音乐播放器中有三个部分。...因此,如果您对此代码有任何疑问,请随时在讨论中问我。我们的导航完成了。所以让我们创建我们的音乐播放器。 music 音乐部分 对于音乐播放器,我们的页面中需要一个音频源,但现在我们没有。...为此在 index.html 中创建一个音频元素。在 body 标记的开头创建此元素。...播放器、导航栏、播放列表、轮播图,刷新,音量加减等等 wuhu ! 起飞 ! 希望通过本文,您已经学会了如何使用 HTML、CSS 和 JS 的在线音乐播放器。

    8.5K62

    【Web技术】502- Web 视频播放前前后后那些事

    Video 标签 如前文所述,在HTML5中,链接到页面中的视频非常简单。您只需在页面中添加具有很少属性的视频标签即可。...顾名思义,这将是视频的源,或更简单地说,这是代表我们视频数据的对象。 ? 如前文所述,我们仍然使用 HTML5 视频标签。也许更令人惊讶的是,我们仍然使用它的 src 属性。...,并且每个都将用于直接将 JavaScript 中的视频数据添加到 HTML5 视频标签中。...我们如何在多种品质或语言之间切换? 由于媒体尚未制作完,如何播放直播内容? 在上一章的示例中,我们有一个文件代表整个音频,一个文件代表整个视频。...在“平滑流传输”中,清单称为……Manifests,并且基于XML。 当前 Web 播放现状 如您所见,网络视频背后的核心概念在于在 JavaScript 中动态添加的媒体分片。

    1.5K00

    媒体容器新标准—CMAF

    CMAF序列包含存储在CMAF指定的容器中的编码的媒体样本,包括音频,视频和字幕,源自ISO基本媒体文件格式(ISOBMFF)。...CMAF可寻址媒体对象(CMAF Addressable Media Objects)被指定用于CMAF序列存储和传送,包括CMAF Chunks(小于CMAF切片),CMAF Segments(一个或多个...CMAF假设模型(CMAF Hypothetical Reference Model)定义了CMAF文件如何在CMAF播放器中传递,组合和同步CMAF序列,且允许任何兼容的实现,包括广播和MPEG-DASH...4.3可拓展性 CMAF是可扩展的。媒体配置文件可以通过引用标准的CMAF切片、序列和切换集来定义,这些格式在核心标准中定义,与媒体文件特定的编解码器以及ISOBMFF的编码相互约束。...每个播放器可以选择并下载符合CMAF选择集的不同媒体内容,如各种语言、编解码器、比特率和视频分辨率,并针对不同的用户、设备和网络条件进行优化。

    7K111

    水果编曲FL Studio20.99中文版吗免费下载

    从菜单中添加的插件现在会被放置在鼠标点击的位置处。ZGE Visualizer-现在可以从脚本中使用内置音频引擎。MIDI脚本 -增加了 "mixer.isTrackMuteLock "功能。...包络编辑器(Envelope Editor) -现在添加、删除和编辑目标链接是可撤销的,删除它们会显示一个警告,还可以同时在所有包络编辑器中选择多个目标。...录音位置菜单,选择外部输入会将录音位置设置为外部以避免录制内部音频。从播放列表中,右击播放列表轨道标题,音频轨道>轨道模式>选择音频输入选项来选择音频输入。改进了音频录制的撤销指令。...ui.ScrollWindow的选项,在可能的情况下进行水平滚动用于直接访问脚本的可选取pot拾取功能miDisplayRect的参数,用于指示矩形对象适用于哪些轨道播放列表模块中的轨道选择功能在选定的编辑通道周围显示一个红框的方法测试版...支持持久性的令牌。添加新的注销选项将 FL Studio重置回试用模式。包络编辑器 -现在会显示小节编号。播放列表和钢琴卷帘 –修改网格对比菜单为‘查看 >网格对比度 >’,‘高,中,低’。

    1.1K00

    26.精读加密媒体扩展

    终于,内容提供商(如 Netflix、Adobe、CableLabs 等)从 Flash、Silverlight 插件播放器过渡到统一的 HTML5 视频播放;各大浏览器公司(如 Google, Microsoft...精读 浏览器支持情况 以下是截取 caniuse 网站统计的 EME 和 ESM 的支持情况(点击图片可跳转到对应网址): 现代播放器的技术原理 《视频直播技术详解——现代播放器原理》中,将典型的播放器分解为...如下图:UI:含皮肤、自定义特性(如播放列表、分享等)和业务逻辑部分(广告、设备兼容性逻辑和认证管理等); 多媒体引擎:处理所有播放控制相关逻辑,如描述文件解析、视频片段拉取、自适应码率规则设定和切换等...MSE 和 EME 组合的播放器示例 结合 cpearce/mse-eme 做简要说明,代码可参见对应的 Github 仓库。...成熟的开源技术 开源的视频播放器 个人点评 video.js 和其插件。

    1.3K10

    HTML5视频与音频

    /视频 HTML5 Audio/Video 属性 audioTracks:返回表示可用音轨的 AudioTrackList 对象 autoplay:设置或返回是否在加载完成后随即播放音频/视频 buffered...:返回表示音频/视频已缓冲部分的 TimeRanges 对象 controller:返回表示音频/视频当前媒体控制器的 MediaController 对象controls:设置或返回音频/视频是否显示控件...:返回表示音频/视频可寻址部分的 TimeRanges 对象 seeking:返回用户是否正在音频/视频中进行查找src:设置或返回音频/视频元素的当前来源startDate:返回表示当前时间偏移的 Date...durationchange:当音频/视频的时长已更改时 emptied:当目前的播放列表为空时 ended:当目前的播放列表已结束时 error:当在音频/视频加载期间发生错误时 loadeddata...:当用户已移动/跳跃到音频/视频中的新位置时 seeking:当用户开始移动/跳跃到音频/视频中的新位置时 stalled:当浏览器尝试获取媒体数据,但数据不可用时 suspend:当浏览器刻意不获取媒体数据时

    2K40
    领券