新年到,一起听听这些新年歌曲

简介: 每年过年,不管是大街小巷还是春晚的舞台上,歌曲都是必不可少的,热热闹闹才是年嘛,那今天跟着我一起来用我这个半吊子前端水平开发的简易的手机音乐盒听听那些新年歌曲吧,我是90后所以歌都比较的老,但是越老的歌越有味道嘛,来吧看看这个简易手机音乐盒是怎么实现的。

微信截图_20220531144401.png

每年过年,不管是大街小巷还是春晚的舞台上,歌曲都是必不可少的,热热闹闹才是年嘛,那今天跟着我一起来用我这个半吊子前端水平开发的简易的手机音乐盒听听那些新年歌曲吧,我是90后所以歌都比较的老,但是越老的歌越有味道嘛,来吧看看这个简易手机音乐盒是怎么实现的。


一.整体效果图微信截图_20220531144428.png


二.实现思路 既然是音乐盒,那当然是播放音乐了,所以得使用音频标签audio,对于图片和css样式层可以采用点击事件触发音乐播放,然后就是得有一个能控制所有播放音乐的总开关,防止全部音乐一起播放。


三.实现分解


1.书签页样式,使用article标签实现,看起来还不错微信截图_20220531144501.png

2.音乐的播放与暂停,页面上一共有五个播放音乐的地方,最上面两个是使用的音频标签audio,所以自带的播放和暂停功能,剩下三个都是自定义的点击播放事件

1)音频标签audio实现

<audio id="music_1"  src="music/陈红%20-%20常回家看看hires.flac" controls style="width: 200px;"></audio>
复制代码

2)自定义实现,给css或者image添加点击事件,单击就是播放,双击就是暂停

$(document).on('click',".ai-fire",function (e){
   play();
});
   // 检查是否正在播放
   var isPlaying = false;
   function play() {
      var player = document.querySelector('#fire');
      if (isPlaying) {
         // 如果正在播放, 停止播放并停止读取此音乐文件
         player.pause();
         player.src = '';
      } else {
         player.src = 'music/费翔%20-%20冬天里的一把火.mp3';
         player.play();
      }
   }
复制代码

3.页面上一共五个播放音乐的地方,会出现一起播放的情况,那就是大杂烩了,所以得用如下方法防止这种事件触发

// dom操作获取所有的audio标签
var audios = document.getElementsByTagName("audio");
// 暂停函数
function pauseAll() {
   var self = this;
   //循环 如果有一个正在使用就暂停其他的
   [].forEach.call(audios, function(i) {
      i !== self && i.pause();
   })
}
// 给play事件绑定暂停函数
[].forEach.call(audios, function(i) {
   i.addEventListener("play", pauseAll.bind(i));
})
复制代码


后话


音乐使人充满活力,让人快乐,愿大家在新的一年里天天开心,快乐。

目录
相关文章
|
存储 监控 测试技术
【游戏】服务器性能测试(三) 性能指标
一、引言 在做游戏服务器性能测试的时候,我们需要通过一些指标来判断服务端是否存在性能问题,由于绝大多数的服务端都是架设在Linux服务器上,因此本篇是以Linux系统为前提,简单介绍常用的性能指标。 二、服务器指标 现如今的游戏服务器一般为分布式架构如图1。一个区的服务端由多个节点组成,通过这些节点来完成复杂的业务功能交互以及扩大人数承载。并不是每个节点都会占用一台物理机,通常是一个区的节点都放在一台物理机上(多区公用的除外)。这样每个节点进程就不能完全独占CPU,内存,网络等资源。而进行服务器性能测试也就是确保这些节点能够在一台机器上满足预定的设计要求。
1940 0
【游戏】服务器性能测试(三) 性能指标
|
SQL 安全 测试技术
安全测试----使用Docker搭建SQL注入安全测试平台sqli-labs
安全测试----使用Docker搭建SQL注入安全测试平台sqli-labs
1180 0
安全测试----使用Docker搭建SQL注入安全测试平台sqli-labs
|
11月前
|
人工智能 自然语言处理 数据处理
还在手动验证文献引用?ScholarCopilot:开源AI学术写作工具,生成时实时插入文献引用
基于 Qwen-2.5-7B 模型的 ScholarCopilot 通过动态检索标记和联合优化技术,实现学术文本生成与文献引用的精准匹配,在 50 万篇论文库中实现 40.1% 的检索准确率,生成文本的学术严谨性评分达 16.2/25。
1564 5
还在手动验证文献引用?ScholarCopilot:开源AI学术写作工具,生成时实时插入文献引用
|
SQL Java 数据库连接
Java MyBatis 面试题
Java MyBatis相关基础面试题
254 5
|
存储 缓存 UED
【已解决】任务栏图标显示异常问题
【已解决】任务栏图标显示异常问题
在Linux中,如何查看和修改网络接口配置?
在Linux中,如何查看和修改网络接口配置?
|
Kubernetes 负载均衡 API
在K8S中,kube-proxy ipvs 原理是什么?
在K8S中,kube-proxy ipvs 原理是什么?
|
小程序 JavaScript Java
人事|人事管理系统|基于Springboot的人事管理系统设计与实现(源码+数据库+文档)
人事|人事管理系统|基于Springboot的人事管理系统设计与实现(源码+数据库+文档)
584 1
|
JSON 数据格式 C++
C++ JSON库 nlohmann::basic_json::accept的用法
C++ JSON库 nlohmann::basic_json::accept的用法
400 1
|
SQL 存储 分布式计算
PAI平台输出数据下载到本地的操作方法
因为DATA WORKS只有本地文件上传入口而没有下载入口,所以当遇到特别是小规模输出结果数据需要下载到本地时需要通过其他方法,PAI平台所展示的数据输出只有100条,本文提供了一种将PAI平台输出到MAXCOMPUTE 中的数据下载到本地的方法,通过DATA WORKS中的手动业务流程实现
1151 122
PAI平台输出数据下载到本地的操作方法