广告
返回顶部
首页 > 资讯 > 精选 >怎么在HTML5页面中实现一个音乐播放器
  • 690
分享到

怎么在HTML5页面中实现一个音乐播放器

2023-06-09 22:06:01 690人浏览 安东尼
摘要

这篇文章给大家介绍怎么在HTML5页面中实现一个音乐播放器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。<audio id="music1">浏览器不支持audio标签<

这篇文章给大家介绍怎么在HTML5页面中实现一个音乐播放器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<audio id="music1">浏览器不支持audio标签<source  src="media/Beyond - 光辉岁月.mp3"></source></audio><audio id="music2">浏览器不支持audio标签<source  src="media/Daniel Powter - Free Loop.mp3"></source></audio><audio id="music3">浏览器不支持audio标签<source  src="media/周杰伦、费玉清 - 千里之外.mp3"></source></audio>

下面的播放列表也对应三个audio标签:

<div id="playList">    <ul>        <li id="m0">Beyond-光辉岁月</li>        <li id="m1">Daniel Powter-Free Loop</li>        <li id="m2">周杰伦、费玉清-千里之外</li>    </ul></div>

接下来我们就开始逐步实现上面提到的功能吧,先来完成播放和暂停功能,在按下播放按钮时我们要做到进度条随歌曲进度前进,播放时间也逐渐增加,同时播放按钮变成暂停按钮,播放列表的样式也对应改变。

在做功能之前我们要先把三个audio标签获取id后存到一个数组中,供后续使用。

var music1= document.getElementById("music1");var music2= document.getElementById("music2");var music3= document.getElementById("music3");var mList = [music1,music2,music3];

2播放和暂停:

我们现在就可以完成播放按钮的功能啦,首先设置一个标志,用来标记音乐的播放状态,再为数组的索引index设置一个默认值:

然后对播放状态进行判断,调用对应的函数,并修改flag的值和列表对应项目样式:

function playMusic(){if(flag&&mList[index].paused){            mList[index].play();        document.getElementById("m"+index).style.backgroundColor = "#A71307";document.getElementById("m"+index).style.color = "white";progressBar();        playTimes();        play.style.backgroundImage = "url(media/pause.png)";        flag = false;}else{        mList[index].pause();        flag = true;        play.style.backgroundImage = "url(media/play.png)";}}

上面的代码中调用了多个函数,其中播放和暂停是audio标签自带的方法,而其他的函数则是我们自己定义的。下面我们就来看一下这些函数是怎么实现的,又对应了哪些功能吧。

3进度条和播放时间:

 首先是进度条功能,获取歌曲的全部时长,然后再根据当前播放的进度与进度条总长度相乘计算出进度条的位置。

function progressBar(){var lenth=mList[index].duration;timer1=setInterval(function(){        cur=mList[index].currentTime;//获取当前的播放时间        progress.style.width=""+parseFloat(cur/lenth)*300+"px";        progressBtn.style.left= 60+parseFloat(cur/lenth)*300+"px";},10)}

下面是改变播放时间功能,这里我们设置一个定时函数,每隔一段时间来执行一次以改变播放时间。因为我们获取到的歌曲时长是以秒来计算,所以我们要利用if语句对时长判断来进行换算,将播放时间改为以几分几秒的形式来显示。

function playTimes(){timer2=setInterval(function(){        cur=parseInt(mList[index].currentTime);//秒数        var minute=parseInt(cur/60);        if (minute<10) {            if(cur%60<10){                playTime.innerhtml="0"+minute+":0"+cur%60+"";            }else{                playTime.innerHTML="0"+minute+":"+cur%60+"";            }        } else{            if(cur%60<10){                playTime.innerText= minute+":0"+cur%60+"";            }else{                playTime.innerText= minute+":"+cur%60+"";            }         } },1000);}

4调整播放进度和音量:

接下来我们再来完成一下通过进度条调整播放进度和调整音量功能。

调整播放进度功能利用了event对象来实现,因为offsetX属性只有IE事件具有,所以推荐使用IE浏览器查看效果。先对进度条添加事件监听,当在进度条上点击鼠标时,获取鼠标的位置,并根据位置除以进度条的总长度来计算当前的播放进度,然后对歌曲进行设置。

//调整播放进度total.addEventListener("click",function(event){var e = event || window.event;document.onmousedown = function(event){        var e = event || window.event;        var mousePos1 = e.offsetX;        var maxValue1 = total.scrollWidth;        mList[index].currentTime = (mousePos1/300)*mList[index].duration;        progress.style.width = mousePos1+"px";        progressBtn.style.left = 60+ mousePos1 +"px";}})

下面是调整音量功能,音量的调整我们采用拖动的形式实现,思路也是对音量条的按钮球添加事件监听,然后根据拖动的位置来计算按钮球相对于音量条整体的位置,最后根据计算结果与音量相乘得出当前音量:

volBtn.addEventListener("mousedown",function(event){var e = event || window.event;var that =this;//阻止球的默认拖拽事件e.preventDefault();document.onmousemove = function(event){var e = event || window.event;var mousePos2 = e.offsetY;var maxValue2 = vol.scrollHeight;if(mousePos2<0){            mousePos2 = 0;}if(mousePos2>maxValue2){            mousePos2=maxValue2;}mList[index].volume = (1-mousePos2/maxValue2);console.log(mList[index].volume);volBtn.style.top = (mousePos2)+"px";volBar.style.height = 60-(mousePos2)+"px";document.onmouseup = function(event){            document.onmousemove = null;            document.onmouseup = null;}}})

5歌曲切换

 最后我们再来实现比较复杂的歌曲切换功能。

先来看用上一首和下一首按钮进行切换,在切换音乐时我们要注意的问题有下面几个:第一,我们要停止当前播放的音乐,转而播放下一首音乐;第二,要清空进度条和播放时间,重新计算;第三,歌曲信息要随之改变,播放器下面的播放列表样式也要变化。在弄清楚上面三点以后我们就可以开始实现功能了。

//上一曲function prevM(){clearInterval(timer1);clearInterval(timer2);stopM();qingkong();cleanProgress();--index;if(index==-1){        index=mList.length-1;}clearListBGC();document.getElementById("m"+index).style.backgroundColor = "#A71307";document.getElementById("m"+index).style.color = "white";changeInfo(index);mList[index].play();progressBar();playTimes();if (mList[index].paused) {    play.style.backgroundImage = "url(media/play.png)";}else{    play.style.backgroundImage = "url(media/pause.png)";}} //下一曲function nextM(){clearInterval(timer1);clearInterval(timer2);stopM();qingkong();cleanProgress();++index;if(index==mList.length){    index=0;}clearListBgc();document.getElementById("m"+index).style.backgroundColor = "#A71307";document.getElementById("m"+index).style.color = "white";changeInfo(index);mList[index].play();progressBar();playTimes();if (mList[index].paused) {    play.style.backgroundImage = "url(media/play.png)";}else{    play.style.backgroundImage = "url(media/pause.png)";}}

下面的代码是点击列表切换歌曲。

m0.onclick = function (){clearInterval(timer1);clearInterval(timer2);qingkong();flag = false;stopM();index = 0;pauseall();play.style.backgroundImage = "url(media/pause.png)";clearListBgc();document.getElementById("m0").style.backgroundColor = "#A71307";document.getElementById("m"+index).style.color = "white";mList[index].play();cleanProgress();progressBar();changeInfo(index);playTimes();}m1.onclick = function (){clearInterval(timer1);clearInterval(timer2);flag = false;qingkong();stopM();index = 1;pauseall();clearListBgc();play.style.backgroundImage = "url(media/pause.png)";document.getElementById("m1").style.backgroundColor = "#A71307";document.getElementById("m"+index).style.color = "white";mList[index].play();cleanProgress();changeInfo(index);progressBar();playTimes();}m2.onclick = function (){clearInterval(timer1);clearInterval(timer2);flag = false;qingkong();stopM();index = 2;pauseall();play.style.backgroundImage = "url(media/pause.png)";clearListBgc();document.getElementById("m2").style.backgroundColor = "#A71307";document.getElementById("m"+index).style.color = "white";mList[index].play();cleanProgress();changeInfo(index);progressBar();playTimes();}

通过播放列表来切换歌曲与通过按钮切换的思路差不多,只是根据对应的列表项来设置当前应该播放哪首歌曲。

上面切换歌曲的函数中都调用了几个方法,下面我们来看看这些方法的用途都是什么吧。

首先是切换歌曲信息:

function changeInfo(index){if (index==0) {    musicName.innerHTML = "光辉岁月";    singer.innerHTML = "Beyond";}if (index==1) {    musicName.innerHTML = "Free Loop";    singer.innerHTML = "Daniel Powter";}if (index==2) {    musicName.innerHTML = "千里之外";    singer.innerHTML = "周杰伦、费玉清";}}

然后清空两个定时器:

//将进度条置0function cleanProgress(timer1){if(timer1!=undefined){    clearInterval(timer1);}progress.style.width="0";progressBtn.style.left="60px";} function qingkong(timer2){ if(timer2!=undefined){    clearInterval(timer2);}}

再把播放的音乐停止,并且将播放时间恢复。

function stopM(){if(mList[index].played){    mList[index].pause();    mList[index].currentTime=0;    flag=false;}}

最后的最后,改变下面播放列表的样式:

function clearListBgc(){document.getElementById("m0").style.backgroundColor = "#E5E5E5";document.getElementById("m1").style.backgroundColor = "#E5E5E5";document.getElementById("m2").style.backgroundColor = "#E5E5E5";document.getElementById("m0").style.color = "black";document.getElementById("m1").style.color = "black";document.getElementById("m2").style.color = "black";}

关于怎么在HTML5页面中实现一个音乐播放器就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么在HTML5页面中实现一个音乐播放器

本文链接: https://www.lsjlt.com/news/257959.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在HTML5页面中实现一个音乐播放器
    这篇文章给大家介绍怎么在HTML5页面中实现一个音乐播放器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。<audio id="music1">浏览器不支持audio标签<...
    99+
    2023-06-09
  • 如何在Android中实现一个音乐播放器
    如何在Android中实现一个音乐播放器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。实现过程导入项目所需的音乐文件、图标、背景等创建一个raw文件夹,将音乐文...
    99+
    2023-06-15
  • html5怎么实现手机音乐播放器
    这篇文章主要介绍了html5怎么实现手机音乐播放器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇html5怎么实现手机音乐播放器文章都会有所收获,下面我们一起来看看吧。 代码...
    99+
    2022-10-19
  • Android开发中怎么实现一个音乐播放器功能
    Android开发中怎么实现一个音乐播放器功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。具体实现首先是布局文件中添加了如下代码,这些代码就是实现控制台的,给整体设置了一...
    99+
    2023-05-31
    android roi
  • 怎么在Dreamweaver里面添加音乐播放器背景音乐
    这篇文章主要讲解了“怎么在Dreamweaver里面添加音乐播放器背景音乐”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Dreamweaver里面添加音乐播放器背景音乐”吧! ...
    99+
    2023-06-08
  • HTML音乐播放器怎么实现
    要实现一个基本的HTML音乐播放器,可以按照以下步骤进行:1. 创建一个`<audio>`元素用于播放音乐,并设置`sr...
    99+
    2023-08-08
    HTML
  • 怎么在c#中使用winform制作一个音乐播放器
    这篇文章将为大家详细讲解有关怎么在c#中使用winform制作一个音乐播放器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。AxWindowsMediaPlayer的方法1 首先新建一个页面 ...
    99+
    2023-06-14
  • 基于JavaScript实现一个月饼音乐播放器
    目录前言页面布局页面背景左侧列表中间播放器右侧歌词部分总结前言 事情的经过是这样的,媳妇中秋发了一盒月饼,里面还有一个小蓝牙音响,她说如果这个音响是个月饼造型之类的是不是更能体现出中...
    99+
    2022-11-13
  • Android开发中如何实现一个音乐播放器功能
    Android开发中如何实现一个音乐播放器功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。需求1:将内存卡中的MP3音乐读取出来并显示到列表当中从数据库中查询所有音乐数据...
    99+
    2023-05-31
    android 音乐播放器 roi
  • HTML怎么制作一个简洁的音乐播放器
    这篇文章主要讲解了“HTML怎么制作一个简洁的音乐播放器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML怎么制作一个简洁的音乐播放器”吧!   这个...
    99+
    2022-10-19
  • 基于Python怎么实现音乐播放器
    本篇内容主要讲解“基于Python怎么实现音乐播放器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于Python怎么实现音乐播放器”吧!一、环境设置第一步引入必须的各类包import ...
    99+
    2023-06-30
  • 使用java怎么制作一个音乐播放器功能
    这期内容当中小编将会给大家带来有关使用java怎么制作一个音乐播放器功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体内容如下package baidu;import java.awt.*;impor...
    99+
    2023-05-31
    java ava
  • 利用Android怎么编写一个本地音乐播放器
    利用Android怎么编写一个本地音乐播放器?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。音乐播放需要调用service,在此,只是简单梳理播放流程。public class ...
    99+
    2023-05-31
    android roi
  • 在Java项目中使用 swing制作一个音乐播放器
    这期内容当中小编将会给大家带来有关在Java项目中使用 swing制作一个音乐播放器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。实现代码: package com.baiting;import...
    99+
    2023-05-31
    java swing
  • 怎么在Android中利用SeekBar实现音乐播放器功能
    怎么在Android中利用SeekBar实现音乐播放器功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一.Demo简介 利用AIDL为Activity绑定服务,...
    99+
    2023-05-31
    android seekbar roi
  • 怎么使用Python制作一个多功能音乐播放器
    这篇文章主要介绍了怎么使用Python制作一个多功能音乐播放器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python制作一个多功能音乐播放器文章都会有所收获,下面我们一起来看看吧。一、制作播放器的思...
    99+
    2023-07-05
  • 微信小程序怎么实现音乐播放器
    本篇内容介绍了“微信小程序怎么实现音乐播放器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   开始构建小程序首页。  第一步,我...
    99+
    2023-06-26
  • 怎么使用C语言实现音乐播放器
    本文小编为大家详细介绍“怎么使用C语言实现音乐播放器”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用C语言实现音乐播放器”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。介绍该程序是一个小的DEMO,实现了以...
    99+
    2023-07-05
  • 如何使用HTML和CSS创建一个响应式音乐播放器页面布局
    如何使用HTML和CSS创建一个响应式音乐播放器页面布局互联网的发展使得音乐播放器成为了人们生活中不可或缺的一部分。在创造一个优秀的音乐播放器页面布局方面,HTML和CSS是不可或缺的工具。本文将介绍如何使用HTML和CSS来创造一个响应式...
    99+
    2023-10-25
    响应式 CSS html
  • 如何利用C++实现一个简单的音乐播放器程序?
    如何利用C++实现一个简单的音乐播放器程序?音乐播放器是我们日常生活中常见的应用程序之一。它能够让我们随时随地欣赏到自己喜爱的音乐,舒缓压力,享受美妙的音乐世界。下面,我将介绍如何使用C++编写一个简单的音乐播放器程序。首先,我们需要了解音...
    99+
    2023-11-02
    音乐播放器 C++ 实现
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作