网易云音乐开发--音乐播放暂停切换上下首功能实现

这篇具有很好参考价值的文章主要介绍了网易云音乐开发--音乐播放暂停切换上下首功能实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

播放歌曲性能优化

网易云音乐开发--音乐播放暂停切换上下首功能实现 问题就是我们点击播放,暂停之后,再次播放,它会多次发起请求。而我们现在对它的优化是,不需要重复的发起请求

网易云音乐开发--音乐播放暂停切换上下首功能实现这里我们通过把musicLink改为形参的方式,如果有给它传入参数,没有链接那么就让它发起请求,如果有那就继续走下去。而且我们将musicLink保存到data中 

网易云音乐开发--音乐播放暂停切换上下首功能实现那么它只向服务器发起一次请求 

进度条区域静态搭建

网易云音乐开发--音乐播放暂停切换上下首功能实现搭建进度条

 <view class="progressControl">
        <text>00:00</text>
        <!-- 总进度条 -->
        <view class="barControl">
        <!-- 实时进度条 -->
            <view class="audio-currentTime-Bar">
                <!-- 小圈球 -->
                <view class="audio-circle">
                    
                </view>
            </view>
        </view>
        <text>03:00</text>
    </view>
.progressControl{
    position: absolute;
    bottom: 200rpx;
    width: 640rpx;
    height: 80rpx;
    line-height: 80rpx;
    display: flex;
}
.barControl{
    position: relative;
    width: 450rpx;
    height: 4rpx;
    background: rgba(0, 0, 0, 0.4);
    margin: auto;
}
.audio-currentTime-Bar{
    position: absolute;
    top: 0;
    left: 0;
    width: 100rpx;
    z-index: 1;
    height: 4rpx;
    background: red;
}
.audio-circle{
    position: absolute;
    right: 12rpx;
    top: -5rpx;
    width: 12rpx;
    height: 12rpx;
    border-radius: 50%;
    background: #fff;
}

音乐总时长格式化显示

我们这个localhost:3000/recommend/songs

返回过来的数据的dt就是总时长 

网易云音乐开发--音乐播放暂停切换上下首功能实现

网易云音乐开发--音乐播放暂停切换上下首功能实现

 我们在data中定义俩个变量来存储时长

我们这里使用的是以分钟为单位,而返回来的数据是以毫秒为单位。我们需要转换,但是我们可以借助第三方的库Moment.js 中文网 (momentjs.cn)

网易云音乐开发--音乐播放暂停切换上下首功能实现

npm install moment --save

网易云音乐开发--音乐播放暂停切换上下首功能实现

网易云音乐开发--音乐播放暂停切换上下首功能实现老样子,我们下载好包,引用它。但是这样会出错,因为我们在miniprogram_npm下没有找到了,所以我们还需要构建npm

网易云音乐开发--音乐播放暂停切换上下首功能实现 这样就实现了 音乐总时长格式化显示

 let durationTime=moment(songData.songs[0].dt).format('mm:ss')
        this.setData({
            song:songData.songs[0],
            durationTime
        })

音乐实时播放时间格式化显示

网易云音乐开发--音乐播放暂停切换上下首功能实现这里我们需要使用这个函数

网易云音乐开发--音乐播放暂停切换上下首功能实现

this.backgroundAudioManager.onTimeUpdate(()=>{
            let currentTime=moment(this.backgroundAudioManager.currentTime*1000).format('mm:ss')
            this.setData({
                currentTime
            })
        })

进度条动态实现

就是原先我们的宽度是写死100rpx,删掉这个,我们不能写死,我们需要动态的显示它

网易云音乐开发--音乐播放暂停切换上下首功能实现

计算公式就是 实时时间/总时长=(求的值)/总宽度(也就是450rpx) 

 let currentWidth=this.backgroundAudioManager.currentTime/this.backgroundAudioManager.duration*450

音乐播放自动结束自动切歌下一首

网易云音乐开发--音乐播放暂停切换上下首功能实现

观看文档,我们这里要使用BackgroundAudioManager.onEnded(function listener)这个事件 

 自动切换至下一首音乐,并且自动播放,然后将实时进度条的长度还原成0

网易云音乐开发--音乐播放暂停切换上下首功能实现

 this.backgroundAudioManager.onEnded(()=>{
            PubSub.publish('switchType','next')
            this.setData({
                currentWidth:0,
                currentTime:'00:00'
            })
        })

播放音乐页面完成

网易云音乐开发--音乐播放暂停切换上下首功能实现实现页面直接的跳转完成设计

 toRecommendSong(){
            console.log(1);
            wx.navigateTo({
              url: '/pages/recommendSong/recommendSong',
            })
        },

网易云音乐开发--音乐播放暂停切换上下首功能实现

 文章来源地址https://www.toymoban.com/news/detail-455896.html

到了这里,关于网易云音乐开发--音乐播放暂停切换上下首功能实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网易云音乐开发--search模块基本功能实现(除历史记录模块)

    老样子搭建一个search搜索页面  还有一块没有实现,那就是让输入框默认的文本变换颜色  微信小程序: input输入框placeholder样式的修改_微信小程序placeholder样式_酷伊奥的博客-CSDN博客  百度搜索了一下,找到了这个大佬的解决方案。很nice 查看文档 网易云音乐 NodeJS 版 API (b

    2024年02月06日
    浏览(68)
  • Python—实现本地音乐播放器(添加/播放/暂停/下一首/上一首/音量/打开超链接)

    1.样例 2.分析 1.播放器界面 2.功能 2.1播放器界面 button:添加/播放/暂停/下一首/上一首 Scale:音量条 Label 2.2功能 2.2.1添加音乐,选择文件夹,显示文件夹里.Mp3文件 2.2.2播放音乐,开始播放第一首音乐,按钮由\\\"播放\\\"变为\\\"暂停\\\",点击\\\"暂停\\\",变为\\\"播放\\\",播放显示Playing… 2.2.3下一首,点击

    2024年02月04日
    浏览(32)
  • vue实现音频audio列表循环,实现暂停播放切换

    功能界面如下 功能使用如下: 首先根据后端返回的音频地址进行渲染,其中playAudioSrc字段用来控制暂停样式还是播放样式,audio进行隐藏 vue处理逻辑如下

    2024年02月11日
    浏览(29)
  • 网易云音乐开发--个人中心页效果实现

    就是我们真机调试,是没有数据的 就是我们手机上去访问我们电脑上自己搭的服务器,肯定是访问不到的 此时就需要我们内网穿透 1.win+R  输入 cmd 输入ipconfig 2.找到无线局域网适配器的IPv4 3.重新设置一个新的地址,只需将host中的localhost改为你的IPv4 4.用手机连上电脑的热点

    2024年02月04日
    浏览(31)
  • uniapp小程序背景音乐自动播放、播放、暂停

    在做小程序的时候时常会用到背景音乐,对于背景音乐的使用有刚进入页面时会自动播放背景音乐,不想听点击暂停按钮,播放暂停,点击播放按钮,音乐播放 1、在html中添加两张图片:播放和暂停,v-show来动态切换图片显示,并绑定点击事件,实现手动暂停和播放音乐 2、

    2024年02月11日
    浏览(37)
  • Python爬虫网易云音乐,Tkinter制作音乐播放器

    目录 一、效果展示 二、环境 三、实现过程 四、源码 页面的美化以及功能还有待升级~ 先来说一下已有功能吧: 可以在搜索框中通过歌曲或歌手名称进行搜索,效果和在网易云官网搜索一样。 点击开始下载,就会将搜索结果的第一条歌曲下载到指定文件夹 下载完毕后,会遍

    2024年02月04日
    浏览(41)
  • 在unity中如何实现视频播放暂停停止重播功能

    在Unity中实现视频播放、暂停、停止和重播功能,可以通过以下步骤实现: 将视频文件导入Unity项目中,并将其设置为资源。 创建一个新的Unity游戏对象,并将Video Player组件添加到该对象上。 将视频文件设置为Video Player组件的源。 创建一个脚本,并使用代码控制Video Player组件

    2024年02月11日
    浏览(30)
  • 微信小程序仿网易音乐播放器项目

    主页样式 播放页样式 搜索页样式 排行榜页样式 小控件样式 网易云音乐API接口 后端接口,使用node写的,使用了网易云音乐API: 封装的api文件 主页面功能点 banner,滑动菜单栏采用微信的API( swiper 与 scroll-view )进行开发 滑动到底部重新获取后续的歌曲,使用onReachBottom周期

    2024年02月06日
    浏览(27)
  • UE4 widget播放视频,实现滑动条、快进、暂停功能

    1.将要播放的视频放入ue4中,创建一个med1(media player)并勾选创建med1_Vido(texture)。  2.右键创建的med1_Vido(texture)创建材质UI_med。 3. 在材质中设置UI_med和texture sample。    4.创建一个UI_playmed(widget),要播放视频的image要设置。  4.在UI_playmed(widget),创建变量med(类型 media player)。编译后

    2024年02月15日
    浏览(42)
  • uniapp 仿网易云音乐播放器 微信小程序

    uniapp 仿照网易云播放器功能

    2024年02月12日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包