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

如何在面向对象的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方法实现。

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

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

相关·内容

简单易用、轻松定制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 是一个扩展网络媒体播放器

42330
  • 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

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

    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=

    1.8K40

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

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

    1.5K00

    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 当浏览器尝试获取媒体数据,但数据不可用时触发。

    4K20

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

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

    74910

    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(边下载边播放)下载内容。

    6K20

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

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

    5.3K51

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

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

    1.1K00

    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播放器是一个组件。

    52.8K117

    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.1K20

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

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

    8.3K61

    媒体容器新标准—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选择集不同媒体内容,各种语言、编解码器、比特率和视频分辨率,并针对不同用户、设备和网络条件进行优化。

    6.8K111

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

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

    1.2K60

    26.精读加密媒体扩展

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

    1.2K10
    领券