样式预览:

主要功能:

  1. 音乐开始播放、暂停
  2. 音乐文件总时长、当前播放时长
  3. 进度的显示与调节
  4. 音量的显示与调节
  5. 音乐结束的判断

主要代码块(Js):

  1. 进度条:(进度的调节及显示)
 var music = document.getElementById("music");var btn = document.getElementById("play_pause_btn");var current_time = document.getElementById("music_time");var music_progress =   document.getElementById("music_progress");var voice_progress = document.getElementById("voice");music.volume = 0.5;
//计时function showTime() {//返回音乐时长var music_time = music.duration;var now_time = music.currentTime;var minutes = parseInt(music_time / 60);var seconds = parseInt(music_time - minutes * 60);minutes = minutes < 10 ? '0' + minutes : minutes;seconds = seconds < 10 ? '0' + seconds : seconds;//返回播放时长var seconds_now = parseInt(now_time % 60);var minutes_now = parseInt(now_time / 60);seconds_now = seconds_now < 10 ? '0' + seconds_now : seconds_now;minutes_now = minutes_now < 10 ? '0' + minutes_now : minutes_now;//显示到文本中current_time.innerHTML = minutes_now + ":" + seconds_now + "/" + minutes + ":" + seconds;//显示到音乐进度条中var plan = parseFloat(now_time / music_time);var value1 = parseInt(plan * 100);music_progress.value=value1;if (music.ended) {console.log("end");music.currentTime = 0;btn.style.transform = "rotate(0deg)";clearInterval(timer2);}}

2.播放按钮:(音乐的播放与暂停)

var deg = 0;var timer2;//按钮开关btn.onclick = function() {if (music.paused) {music.play();timer2 = setInterval(function() {if (deg == 360) { deg = 0; }deg += 5;console.log(deg);btn.style.transform = "rotate(" + deg + "deg)"}, 100);} else {music.pause();clearInterval(timer2);btn.style.transform = "rotate(" + deg + "deg)"}}

3.音量调节:(音量的大小调节及显示)

//音量调节  :music_progress.onclick = function(event) {var e = event ? event : window.event;console.log(e.pageX);var start = 100;music.currentTime = (e.pageX - start) * music.duration / 400;}voice_progress.onclick = function(eevet) {var e = event ? event : window.event;var start = 600;music.volume = (e.pageX - start) / 200;this.value = music.volume * 100;var voice_tb = document.getElementById("voice_tb");voice_tb.innerHTML = "音量:" + this.value + "%";}//定时器  : 设置时间 / 结束停止计时 / 重新开始var timer = setInterval(function() {showTime();}, 10);

以下是完整的HTML代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>网页多媒体</title><style>/*        整体框架     */div#controller {width: 800px;height: 80px;position: relative;font-family: "segoe script";background-image: url(bg.png);border-radius: 5px;}/*          点击暂停开始    */a#play_pause_btn {width: 64px;height: 64px;position: absolute;left: 10px;top: 8px;display: inline-block;}a#play_pause_btn img {border-radius: 50%;width: 100%;height: 100%;}/*      显示时间    */span#music_time {position: absolute;right: 310px;top: 10px;}span#music_name {position: absolute;left: 90px;top: 10px;}/*      音乐进度   */progress#music_progress {width: 400px;height: 3px;-webkit-appearance: none;position: absolute;left: 90px;top: 50px;}progress#music_progress::-webkit-progress-bar {background-color: white;border-radius: 5px;}progress#music_progress::-webkit-progress-value {background-color: #3f55a7;border-radius: 5px;}/*       音量调节大小  */progress#voice {width: 200px;height: 5px;-webkit-appearance: none;position: absolute;right: 10px;top: 45px;}progress#voice::-webkit-progress-bar {background-color: white;border-radius: 5px;}progress#voice::-webkit-progress-value {background-color:#e72568;border-radius: 5px;}/*  音量按钮*/span#voice_tb {position: absolute;right: 220px;top: 40%;}</style><script type="text/javascript" src="http://code.jquery.com/jquery-3.2.1.min.js"></script><script>window.onload = function() {var music = document.getElementById("music");var btn = document.getElementById("play_pause_btn");var current_time = document.getElementById("music_time");var music_progress = document.getElementById("music_progress");var voice_progress = document.getElementById("voice");music.volume = 0.5;//计时function showTime() {//返回音乐时长var music_time = music.duration;var now_time = music.currentTime;var minutes = parseInt(music_time / 60);var seconds = parseInt(music_time - minutes * 60);minutes = minutes < 10 ? '0' + minutes : minutes;seconds = seconds < 10 ? '0' + seconds : seconds;//返回播放时长var seconds_now = parseInt(now_time % 60);var minutes_now = parseInt(now_time / 60);seconds_now = seconds_now < 10 ? '0' + seconds_now : seconds_now;minutes_now = minutes_now < 10 ? '0' + minutes_now : minutes_now;//显示到文本中current_time.innerHTML = minutes_now + ":" + seconds_now + "/" + minutes + ":" + seconds;//显示到音乐进度条中var plan = parseFloat(now_time / music_time);var value1 = parseInt(plan * 100);music_progress.value=value1;if (music.ended) {console.log("end");music.currentTime = 0;btn.style.transform = "rotate(0deg)";clearInterval(timer2);}}var deg = 0;var timer2;//按钮开关btn.onclick = function() {if (music.paused) {music.play();timer2 = setInterval(function() {if (deg == 360) { deg = 0; }deg += 5;console.log(deg);btn.style.transform = "rotate(" + deg + "deg)"}, 100);} else {music.pause();clearInterval(timer2);btn.style.transform = "rotate(" + deg + "deg)"}}//音量调节  :music_progress.onclick = function(event) {var e = event ? event : window.event;console.log(e.pageX);var start = 100;music.currentTime = (e.pageX - start) * music.duration / 400;}voice_progress.onclick = function(eevet) {var e = event ? event : window.event;var start = 600;music.volume = (e.pageX - start) / 200;this.value = music.volume * 100;var voice_tb = document.getElementById("voice_tb");voice_tb.innerHTML = "音量:" + this.value + "%";}//定时器  : 设置时间 / 结束停止计时 / 重新开始var timer = setInterval(function() {showTime();}, 10);}</script>
</head><body><audio src="Beauty.mp3" id="music"></audio><div id="controller"><div id="paly"><a href="javascript:;" id="play_pause_btn"><img src="tp.jpg" alt=""></a></div><div id="meg"><span id="music_name">Beauty-Wold-Colony</span><span id="music_time"></span></div><div id="progresscontrol"><progress id="music_progress" value="0" max="100"></progress><span id="voice_tb">音量:50%</span><progress id="voice" value="50" max="100"></progress></div></div>
</body></html>

如何设计一个网页版音乐播放器相关推荐

  1. 仿网易云网页版音乐播放器,实现歌词随歌曲进行滚动高亮

    引言 前几天在使用网易云网页版听歌时,看着那个页面的歌词随歌曲进行高亮,突然也想自己手动地去实现一下,于是呢,就仿照了网易云音乐的网页自己也写了个页面.效果图如下: 当然了,此处不做css的样式介绍, ...

  2. 网页版音乐播放器 下载音乐 教程

    一 .咳咳 , 每天 一个白嫖小技巧,它来了它来了!!! 打开W_yi音乐,输入想要get的音乐: 按下F12会出现以下也页面,依次点击图中编标记的两处地方: 出现以上页面以后就点击播放了,等播放一遍 ...

  3. 音乐播放器项目:使用网易云音乐api开发网页版音乐播放器开发难题(一)

    将子组件中获取到后台的url参数传递给父组件 解决方法: axios({//获取urlurl:'http://localhost:3000/song/url',method:'get',params: ...

  4. 完整打造一个多功能音乐播放器项目(初步设想跟酷狗类似)

    本人目前准备利用闲暇时间打造一个完整的音乐播放器项目,主要用于学习及分享!原创不易,转载请注明出处. 这是一个什么样的音乐播放器呢?整体的架构跟酷狗差不多吧,我的方式呢,是一个个组件一个个模块先做好, ...

  5. html中加入音乐播放器,HTML网页添加音乐播放器做背景音乐代码-标签audio

    是 HTML 5 的一个新标签,定义声音,比如音乐或其他音频流. 调用格式: src="http://sc1.111ttt.com/2016/1/02/04/195040016323.mp3 ...

  6. HTML+CSS+原生JS写一个简易的音乐播放器(仅播放一首歌)

    用HTML+CSS+原生JS写一个简易的音乐播放器(仅播放一首歌) 效果如下:(鼠标点击按钮可以实现播放或暂停,按钮会旋转,实现了歌词同步,功能还需改进) 代码如下: <!DOCTYPE htm ...

  7. 用js创建audio对象实现网页迷你音乐播放器

    主要是靠咋没的audio对象,我就不多说废话了,也不会说,直接上代码: HTML <!DOCTYPE html> <html><head><meta http ...

  8. 用Qt写一个简单的音乐播放器(三):增加界面(播放跳转与音量控制)

    一.前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐. 在用Qt写一个简单的音乐播放器(二):增加界面(开始和 ...

  9. 用Qt写一个简单的音乐播放器(七):界面美化(QSS样式表)

    一.前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐. 在用Qt写一个简单的音乐播放器(二):增加界面(开始和 ...

  10. 自制一个简单的音乐播放器

    这两天刚学完了contentprovider和service组件,就综合下所学的,自制了一个简单的音乐播放器. 代码如下: 主activity代码 public class MainActivity ...

最新文章

  1. 关于maven工程中一直报和依赖包json-lib-2.4-jdk15.jar相关错误的问题解决方法
  2. junit5_了解JUnit的Runner架构
  3. OpenGL 光照方程的计算
  4. 高斯噪声和椒盐噪声python
  5. Jquery操作CSS常用方法
  6. Java 集合类说明及区别
  7. Robust Point Cloud Registration Framework Based on Deep Graph Matching (RGM) 简略分析
  8. Spring Cloud 一:注册中心
  9. 寻找指定型别的父控件
  10. 基于python的学生信息管理系统文献综述_学生信息管理系统----文献综述
  11. 归并排序java详解
  12. 十折交叉验证和混淆矩阵
  13. [noip2014]解方程 hash+秦九昭
  14. XXX客户2020年护网行动总结报告
  15. 使用vue全家桶开发音乐App
  16. 微信服务器 系统发生错误,微信系统故障 仍未修复
  17. 【Hibernate】
  18. javascript的回调函数
  19. MYSQL —(二)筛选、聚合和分组、查询
  20. 【外贸干货】开发信模板之售后客诉篇

热门文章

  1. java毕业生设计校园租赁系统的设计与实现计算机源码+系统+mysql+调试部署+lw
  2. 如何在虚拟机里用win95\98上网
  3. 通过2048学习自定义view(二) 滑动事件监听 与 事件回调
  4. ant design中Button与button点击事件
  5. mysql定时清理数据
  6. Linux iptable文档
  7. 得到知乎注册进行体验,谈谈感受
  8. echarts饼状图设置位置
  9. 计算几何(基础部分)
  10. 修复IE主页被篡改劫持的方法之一:自定义xxx.reg文件