广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >基于JavaScript实现一个月饼音乐播放器
  • 586
分享到

基于JavaScript实现一个月饼音乐播放器

2024-04-02 19:04:59 586人浏览 八月长安
摘要

目录前言页面布局页面背景左侧列表中间播放器右侧歌词部分总结前言 事情的经过是这样的,媳妇中秋发了一盒月饼,里面还有一个小蓝牙音响,她说如果这个音响是个月饼造型之类的是不是更能体现出中

前言

事情的经过是这样的,媳妇中秋发了一盒月饼,里面还有一个小蓝牙音响,她说如果这个音响是个月饼造型之类的是不是更能体现出中秋的气氛。于是我就想到了可以用代码给她实现一个啊,拿出了我仅有的一点点前端看家本领(我是搞后端的),浪费我三天假期,效果图如下,本来设想的挺好,可是由于本人能力有限,没有达到自己预想的目标,仅供娱乐!

页面布局

页面采用最简单的div+CSS进行布局,首先将页面分为三部分,分别为左边音乐列表,中间播放器部分和右边歌词部分。

页面背景

可以选择一张比较好看的照片作为页面背景,我就随便选了一张中秋主题相关的作为背景,下一步准备做一个设置功能可以自定义页面背景。

<div id="back_box" style="background-image: url('Http://121.196.234.193/test/images/background.jpeg');"></div>

左侧列表

列表调用后端接口动态加载数据,后端接口采用PHP实现。

<div class="music_con">
        <div class="m_search">
            <input type="text" class="Word search-word" placeholder="搜索"><input type="image" src="http://121.196.234.193/test/images/search.png" class="search-btn" placeholder="">
        </div>
        <ul id="lists">
        </ul>
    </div>

js实现部分如下:

ajax('GET', mp3Url, '', function(data){
                musicList = JSON.parse(data);
                str = '';
                for (var i =0, l= musicList.length; i<l; i++) {
                    if (i==0) {
                        str+='<li class="default">'
                    } else {
                        str +='<li>'
                    }
                    str +=   '<a href="./index.html" rel="external nofollow" >' +
                        '<label>'+musicList[i].title+'</label>' +
                        '<i> - </i>' +
                        '<span>'+musicList[i].singer+'</span>' +
                        '</a>' +
                        '</li>';
                }
                document.getElementById('lists').innerHTML= str
            })

中间播放器

这部分也是核心。

首先设置一个背景,本来想自己用代码画一个月饼的,结果超出了我的能力范围,于是从网上找一张图片,这个月饼是不是看着看诱人,其实这个地方可以根据音乐设定不同的背景,通过接口返回,在这里就先这样吧。

给图片加点特效——让它转起来。

<div class="PlayEy" style="transfORM: rotate(0deg);"></div>

css3中transform主要包括以下几种:旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix。

rotate() :通过指定的角度参数对原元素指定一个2D rotation(2D 旋转),需先有transform-origin属性的定义。transform-origin定义的是旋转的基点,其中angle是指旋转角度,如果设置的值为正数表示顺时针旋转,如果设置的值为负数,则表示逆时针旋转。如:transform:rotate(30deg);

音乐播放采用audio标签。

<div class="btns-bg">
    <div class="PlayEy" style="transform: rotate(0deg);"></div>
    <div class="Btn"></div>
    <div class="Play" id="btn_play" item="1" style="background-image: url('http://121.196.234.193/test/images/pause.png'); width: 29px; height: 36px;">
        <audio src="http://121.196.234.193/test/music/1.mp3" id="audio_box" data-id="1"></audio>
    </div>
         <!--按钮(暂停/播放、上一曲、下一曲、声音开关、音量调节、循环播放)-->
         <div id="btn_prev"></div>
         <div id="btn_next"></div>

       <div id="volume_toggle" item="1" style="background-position: -152px 0px;"></div>
       <div class="volume_box">
       <input id="volume_change" type="range" min="1" max="10" value="5" style="background:linear-gradient(to right, #059CFA, #ebeff4 50%, #ebeff4)">
      </div>
     <div id="loop_type" item="1" style="background-position: -105px -58px;"></div>
         <!--音频时间-->
         <div class="time_box">
             <span id="now_time">00:00</span>
             <span id="total_time">00:22</span>
         </div>
         <!--音频播放进度条-->
         <div class="time_axis">
             <div class="slideway">
                 <p id="progress_bar"></p>
                 <div id="ahead_head"></div>
             </div>
         </div>
</div>

audio相关属性:

  • autoplay:自动播放(一般浏览器会禁止此行为)。
  • controls:显示音频控件。
  • loop:循环播放。
  • muted:静音。
  • preload:加载方式,分auto(当页面加载后载入整个音频)、metadata(当页面加载后只载入元数据)、none(当页面加载后不载入音频)。
  • src:音频地址。

js实现

// 启动播放方法
function plays(){
    //_audioDom.load();
    let playPromise = _audioDom.play() ;
    if (playPromise !== undefined) {
        playPromise.then(() => {
            _audioDom.play()
        }).catch(() => {})
    }
}

右侧歌词部分

主要用于展示当前播放音乐的标题和歌词信息,数据采用js动态加载。

<!--音频标题-->
    <div class="title_box">
        <span id="music_title">你笑起来真好看</span>
    </div>
    <!--歌词区域-->
    <div id="music_lyric">
        <span class="lyric_prev"></span>
        <span class="lyric_now"></span>
        <span class="lyric_next"></span>
    </div>

js部分实现:

 
_audioDom.ontimeupdate = function(){
    _totalTime.innerHTML = timeFormat(_audioDom.duration);	// 音频总时间;
    _nowTime.innerHTML = timeFormat(_audioDom.currentTime);	// 更新当前播放的时间;
    var now_long = _audioDom.currentTime/_audioDom.duration*slidewayWidth; 			 	// 当前时间播放的长度
    _progress.style.width = now_long+'px';		 		// 进度条长度
    _aheadDom.style.left = (now_long-10)+'px'; // 进度条头位置

    //遍历歌词
    for (var i = 0, l = lyricArr.length; i < l; i++) {
        if (_audioDom.currentTime > lyricArr[i][0]) {
            if(i>=1){
                _lyricPrev.innerHTML = lyricArr[i-1][1];
                _lyricNow.innerHTML = lyricArr[i][1];
                if(lyricArr.hasOwnProperty(i+1)){
                    _lyricNext.innerHTML = lyricArr[i+1][1];
                }else {
                    _lyricNext.innerHTML = '';
                }
            }else{
                _lyricPrev.innerHTML = '';
                _lyricNow.innerHTML = lyricArr[i][1];
                _lyricNext.innerHTML = lyricArr[i+1][1];
            }
        }
    }
    addListenTouch(); // 监听手动拉动播放进度条
};

总结

虽然大体效果出来了,但是跟预想的还是有很大差距,因为不是专业的前端,整体实现比较简单,只能做到这了,仅供娱乐!

到此这篇关于基于javascript实现一个月饼音乐播放器的文章就介绍到这了,更多相关JavaScript音乐播放器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 基于JavaScript实现一个月饼音乐播放器

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

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

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

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

下载Word文档
猜你喜欢
  • 基于JavaScript实现一个月饼音乐播放器
    目录前言页面布局页面背景左侧列表中间播放器右侧歌词部分总结前言 事情的经过是这样的,媳妇中秋发了一盒月饼,里面还有一个小蓝牙音响,她说如果这个音响是个月饼造型之类的是不是更能体现出中...
    99+
    2022-11-13
  • C#基于winform实现音乐播放器
    本文实例为大家分享了C#基于winform实现音乐播放器的具体代码,供大家参考,具体内容如下 首先,右键工具箱的组件,找到选择项,找到Windows Media Player组件并添...
    99+
    2022-11-13
  • 基于Python怎么实现音乐播放器
    本篇内容主要讲解“基于Python怎么实现音乐播放器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于Python怎么实现音乐播放器”吧!一、环境设置第一步引入必须的各类包import ...
    99+
    2023-06-30
  • 使用JavaScript编写一个音乐播放器
    这篇文章主要介绍了使用JavaScript编写一个音乐播放器,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:JavaScript是什么JavaScript是一种直译式的脚本语言,其解释器被...
    99+
    2023-06-06
  • C#基于winform实现音乐播放器的方法
    今天小编给大家分享一下C#基于winform实现音乐播放器的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先,右键工具...
    99+
    2023-06-29
  • 基于Python实现本地音乐播放器的制作
    制作这个播放器的目的是为了将下载下来的mp3文件进行随机或是顺序的播放。选择需要播放的音乐的路径,选择播放方式,经过测试可以完美的播放本地音乐。 在开始之前介绍一个免费下载mp3音乐...
    99+
    2022-11-11
  • 基于Python实现音乐播放器的实现示例代码
    目录一、环境设置二、播放功能三、停止功能四、暂停与恢复五、关闭六、完整代码七、改进一、环境设置 第一步引入必须的各类包 import os import tkinter import...
    99+
    2022-11-10
  • 如何在Android中实现一个音乐播放器
    如何在Android中实现一个音乐播放器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。实现过程导入项目所需的音乐文件、图标、背景等创建一个raw文件夹,将音乐文...
    99+
    2023-06-15
  • 基于Java Springboot + Vue + MyBatis实现音乐播放系统
    目录摘要主要设计功能设计主要技术功能截图用户端首页登录注册歌单信息歌手信息我的音乐评论点赞管理员端首页用户管理歌手管理歌单管理部分代码数据库设计用户表评论表收藏表歌手歌曲表歌手表项目...
    99+
    2022-11-12
  • 怎么在HTML5页面中实现一个音乐播放器
    这篇文章给大家介绍怎么在HTML5页面中实现一个音乐播放器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。<audio id="music1">浏览器不支持audio标签<...
    99+
    2023-06-09
  • Android开发中怎么实现一个音乐播放器功能
    Android开发中怎么实现一个音乐播放器功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。具体实现首先是布局文件中添加了如下代码,这些代码就是实现控制台的,给整体设置了一...
    99+
    2023-05-31
    android roi
  • Android开发中如何实现一个音乐播放器功能
    Android开发中如何实现一个音乐播放器功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。需求1:将内存卡中的MP3音乐读取出来并显示到列表当中从数据库中查询所有音乐数据...
    99+
    2023-05-31
    android 音乐播放器 roi
  • Android基于service实现音乐的后台播放功能示例
    本文实例讲述了Android基于service实现音乐的后台播放功能。分享给大家供大家参考,具体如下: Service是一个生命周期长且没有用户界面的程序,当程序在各个acti...
    99+
    2022-06-06
    service 示例 音乐 Android
  • 基于WPF实现一个简单的音频播放动画控件
    目录1.实现代码2.效果预览1.实现代码 一、创建AnimationAudio.xaml代码如下 <ResourceDictionary xmlns="http://schem...
    99+
    2022-11-13
  • 基于C++实现一个简单的音乐系统
    目录一、前言二、实现步骤三、代码实现四、讲解程序一、前言 2022临近尾声,2023即将来临。 过去的一年,我们同努力,我们共欢笑.。 每一次成功都蕴藏着我们辛勤的劳动。 新的一年即...
    99+
    2022-12-29
    C++音乐系统 C++声音系统 C++ Beep
  • 如何利用C++实现一个简单的音乐播放器程序?
    如何利用C++实现一个简单的音乐播放器程序?音乐播放器是我们日常生活中常见的应用程序之一。它能够让我们随时随地欣赏到自己喜爱的音乐,舒缓压力,享受美妙的音乐世界。下面,我将介绍如何使用C++编写一个简单的音乐播放器程序。首先,我们需要了解音...
    99+
    2023-11-02
    音乐播放器 C++ 实现
  • Python编程实现简易的音乐播放器基本操作
    目录安装我们要做什么(逻辑)启动播放器加载歌曲设置音量开始播放歌曲暂停歌曲继续播放歌曲设置音量(播放时再次使用)停止歌曲CodeMusicplayerinpython 大家好,今天...
    99+
    2022-11-12
  • python网络爬虫如何实现个性化音乐播放器
    今天小编给大家分享一下python网络爬虫如何实现个性化音乐播放器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。开发组件py...
    99+
    2023-06-29
  • 如何使用MySQL和Java实现一个简单的音乐播放器功能
    如何使用MySQL和Java实现一个简单的音乐播放器功能引言:随着技术的不断发展,音乐播放器已经成为人们日常生活中不可或缺的一部分。本文将介绍如何使用MySQL和Java编程语言来实现一个简单的音乐播放器功能。文章将包含详细的代码示例,用于...
    99+
    2023-10-22
    音乐播放器 MySQL Java
  • python网络爬虫实现个性化音乐播放器示例解析
    目录前言开发组件功能流程分析基于python的个性化音乐下载器模块详细(一)前端模块(二)后端模块前言 当前很多人在闲暇时喜欢听音乐,那么基于这种现象,我也是肝了几个小时完成了基于p...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作