iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >微信小程序制作音乐播放器的代码怎么写
  • 597
分享到

微信小程序制作音乐播放器的代码怎么写

2023-06-26 08:06:43 597人浏览 安东尼
摘要

这篇文章主要介绍了微信小程序制作音乐播放器的代码怎么写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序制作音乐播放器的代码怎么写文章都会有所收获,下面我们一起来看看吧。  网络请求的函数为:functi

这篇文章主要介绍了微信小程序制作音乐播放器的代码怎么写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序制作音乐播放器的代码怎么写文章都会有所收获,下面我们一起来看看吧。

  网络请求的函数为:

  1. function getAlbumInfo(id,callback){

  2.     var data = {

  3.             albummid: albummid,

  4.             g_tk: 5381,

  5.             uin: 0,

  6.             fORMat: 'JSON',

  7.             inCharset: 'utf-8',

  8.             outCharset: 'utf-8',

  9.             notice: 0,

  10.             platform: 'h6',

  11.             needNewCode: 1,

  12.             _: Date.now()

  13.         };

  14.         wx.request({

  15.             url: 'Http://c.y.qq.com/v8/fcg-bin/fcg_v8_album_info_cp.fcg',

  16.             data: data,

  17.             header: {

  18.                 'Content-Type': 'application/json'

  19.             },

  20.             success: function (res) {

  21.                 console.log(res);

  22.                 if (res.statusCode == 200) {

  23.                     callback(res.data);

  24.                 } else {

  25.  

  26.                 }

  27.             }

  28.         });

  29. }

  30.  

  31. module.exports = {

  32.   ...

  33.   getAlbumInfo:getAlbumInfo

  34. }

复制代码

  页面的布局代码为:

  1. <view class="list-top">

  2.   <view class="top-info">

  3.     <view class="top-info-inner">

  4.       <view class="top-info-text">

  5.         <view class="top-info-title">{{albumInfo.name}}</view>

  6.         <view class="top-info-base">

  7.           <text>{{albumInfo.singername}}</text>

  8.           <text style="margin-left: 5px;">{{albumInfo.aDate}}</text>

  9.           <text style="margin-left:10px;">{{albumInfo.genre}}</text>

  10.         </view>

  11.       </view>

  12.       <view class="top-play"></view>

  13.     </view>

  14.   </view>

  15.   <image class="top-img" mode="aspectFit" src="{{coverImg}}"></image>

  16.   <view class="top-back"></view>

  17. </view>

  18. <view class="song-list" style="background:{{listBGColor}}">

  19.   <view class="song-item" wx:for="{{albumInfo.list}}" data-data="{{item.data}}" data-mid="{{item.songmid}}">

  20.     <text class="song-index">{{index+1}}</text>

  21.     <view class="song-item-title">{{item.songname}}</view>

  22.     <view class="song-item-text">

  23.       <block wx:for="{{item.singer}}">

  24.         <block wx:if="{{index!=0}}">|</block>

  25.         {{item.name}}

  26.       </block>

  27.     </view>

  28.   </view>

  29. </view>

  30. <view class="desc" style="background:{{listBgColor}}">

  31.   <view class="desc-title">简介</view>

  32.   <text>{{albumInfo.desc}}</text>

  33. </view>

复制代码

  简介部分的格式文件:

  1. .desc {

  2.   box-sizing: border-box;

  3.   font-size: 14px;

  4.   padding: 40px 10px;

  5.   color: #fff;

  6.   line-height: 20px;

  7. }

  8.  

  9. .desc-title {

  10.   text-align: center;

  11.   width: 100%;

  12.   font-size: 16px;

  13.   margin-bottom: 20px;

  14. }

复制代码

  加载数据的代码为:

  1. var MusicService = require('../../services/music');

  2. var app = getApp()

  3.  

  4. Page({

  5.     data: {

  6.         albumInfo: {},

  7.         coverImg: '',

  8.     },

  9.     onLoad: function (options) {

  10.         // 页面初始化 options为页面跳转所带来的参数

  11.         var mid = app.globalData.zhidaAlbummid;

  12.         MusicService.getAlbumInfo(mid, this.setPageData)

  13.     },

  14.     setPageData: function (data) {

  15.         if (data.code == 0) {

  16.             var albummid = data.data.mid;

  17.             var img = 'http://y.gtimg.cn/music/photo/mid_album_500/' + albummid.slice(-2, -1) + '/' + albummid.slice(-1) + '/' + albummid + '.jpg'

  18.             this.setData({albumInfo: data.data, coverImg: img});

  19.         }

  20.     },

  21. })

复制代码

  这里的点击事件与前文相同,就不再重复了。

  另外,我们在首页里未完成的两个点击事件,现在也可以完成了。先看电台的点击事件,这个事件与我们刚刚完成的一样,具体代码为:

  1. radioTap: function (e) {

  2.         var dataSet = e.currentTarget.dataset;

  3.         MusicService.getRadioMusicList(dataSet.id, function (data) {

  4.             wx.navigateTo({

  5.                 url: '../play/play'

  6.             });

  7.             if (data.code == 0) {

  8.                 var list = [];

  9.                 var dataList = data.data;

  10.                 for (var i = 0; i < dataList.length; i++) {

  11.                     var song = {};

  12.                     var item = dataList[i];

  13.                     song.id = item.id;

  14.                     song.mid = item.mid;

  15.                     song.name = item.name;

  16.                     song.title = item.title;

  17.                     song.subTitle = item.subtitle;

  18.                     song.singer = item.singer;

  19.                     song.album = item.album

  20.                     song.img = 'http://y.gtimg.cn/music/photo_new/T002R150x150M000' + item.album.mid + '.jpg?max_age=2592000'

  21.                     list.push(song);

  22.                 }

  23.                 app.setGlobalData({

  24.                     playList: list,

  25.                     playIndex: 0

  26.                 });

  27.             }

  28.         });

  29.     },

复制代码

  这里面getRadioMusicList为网络请求,具体代码为:

  1. function getRadioMusicList(id,callback){

  2.     var data = {

  3.             labelid: id,

  4.             g_tk: 5381,

  5.             uin: 0,

  6.             format: 'json',

  7.             inCharset: 'utf-8',

  8.             outCharset: 'utf-8',

  9.             notice: 0,

  10.    &nnbsp;        platform: 'h6',

  11.             needNewCode: 1,

  12.             _: Date.now(),

  13.         }

  14.         wx.request({

  15.             url: 'https://c.y.qq.com/v8/fcg-bin/fcg_v8_radiOSonglist.fcg',

  16.             data: data,

  17.             header: {

  18.                 'Content-Type': 'application/json'

  19.             },

  20.             success: function (res) {

  21.                 if (res.statusCode == 200) {

  22.                     callback(res.data);

  23.                 } else {

  24.  

  25.                 }

  26.  

  27.             }

  28.         });

  29. }

  30.  

  31. module.exports = {

  32.   ...

  33.   getRadioMusicList:getRadioMusicList

  34. }

复制代码

  另一部分为搜索结果里歌曲的点击事件

  1. musuicPlay: function (e) {

  2.         var dataSet = e.currentTarget.dataset;

  3.         var playingSongs = app.globalData.playList;

  4.         if (typeof dataSet.index !== 'undefined') {

  5.             var index = dataSet.index;

  6.             var item = this.data.searchSongs[index];

  7.             var song = {};

  8.             var album = {};

  9.             album.mid = item.albummid

  10.             album.id = item.albumid

  11.             album.name = item.albumname;

  12.             album.desc = item.albumdesc

  13.  

  14.             song.id = item.songid;

  15.             song.mid = item.songmid;

  16.             song.name = item.songname;

  17.             song.title = item.sonGorig;

  18.             song.subTitle = '';

  19.             song.singer = item.singer;

  20.             song.album = album;

  21.             song.time_public = item.time_public;

  22.             song.img = 'http://y.gtimg.cn/music/photo_new/T002R150x150M000' + album.mid + '.jpg?max_age=2592000'

  23.             this.addPlayingSongs(song);

  24.         }

  25.     },

复制代码

  前面的内容与我们写过的一样,最后我们没有直接更新全局变量而是调用了一个新方法,因为前文所有的点击事件都更新了整个播放列表,而我们点击某一首歌曲时,我们希望添加这首歌到已有的列表中,而不是先清空它。

  1. addPlayingSongs: function (song) {

  2.         var playingSongs = app.globalData.playList;         //获取当前的播放列表

  3.         var index = -1;

  4.         if (typeof playingSongs === 'undefined') {          //判断列表是否为空

  5.             playingSongs = [];

  6.             playingSongs.push(song);

  7.             app.setGlobalData({                         //如果是空的话,直接更新全局变量

  8.                 playList: playingSongs,

  9.                 playIndex: 0

  10.             });

  11.         } else {                                  //不为空的话我们先判断当前列表是否包含选定歌曲

  12.             for (var i = 0; i < playingSongs.length; i++) {    //遍历整个列表

  13.                 var item = playingSongs[i];

  14.                 if (item.mid == song.mid) {           //如果发现有mid相同的(即同一首歌)

  15.                     index = i;                     //获取这首歌在列表里的序号

  16.                     break;

  17.                 }

  18.             }

  19.             if (index != -1) {                   //歌曲已存在

  20.                 app.setGlobalData({   

  21.                     playIndex: index             //用我们获取的序号更新当前播放序号

  22.                 });

  23.             } else {                                    //不存在的情况

  24.                 playingSongs.push(song);

  25.                 index = playingSongs.length - 1;    //将歌曲加入播放列表,播放序号改为列表最后一项

  26.                 app.setGlobalData({

  27.                     playList: playingSongs,

  28.                     playIndex: index

  29.                 });

  30.             }

  31.         }

  32.         wx.navigateTo({

  33.             url: '../play/play'

  34.         });

  35.     },

关于“微信小程序制作音乐播放器的代码怎么写”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“微信小程序制作音乐播放器的代码怎么写”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 微信小程序制作音乐播放器的代码怎么写

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

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

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

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

下载Word文档
猜你喜欢
  • 微信小程序制作音乐播放器的代码怎么写
    这篇文章主要介绍了微信小程序制作音乐播放器的代码怎么写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序制作音乐播放器的代码怎么写文章都会有所收获,下面我们一起来看看吧。  网络请求的函数为:functi...
    99+
    2023-06-26
  • 微信小程序怎么制作音乐播放器
    本篇内容介绍了“微信小程序怎么制作音乐播放器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  font color="Black&...
    99+
    2023-06-26
  • 微信小程序如何制作音乐播放器
    这篇文章主要介绍“微信小程序如何制作音乐播放器”,在日常操作中,相信很多人在微信小程序如何制作音乐播放器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序如何制作音乐播放器”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-26
  • 微信小程序怎么制作音乐播放器检索页
    这篇文章主要介绍“微信小程序怎么制作音乐播放器检索页”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序怎么制作音乐播放器检索页”文章能帮助大家解决问题。  首页的最后一部分为检索页,也就是让用...
    99+
    2023-06-26
  • 微信小程序怎么实现音乐播放控制
    这篇文章主要介绍了微信小程序怎么实现音乐播放控制的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序怎么实现音乐播放控制文章都会有所收获,下面我们一起来看看吧。基础库 1.2.0 开始支持,低版本需做兼容处...
    99+
    2023-06-26
  • 微信小程序播放背景音乐的实例代码
    目录1.实现效果2.实现原理3.实现代码1.实现效果 2.实现原理 1、wx.getBackgroundAudioManager :获取全局唯一的背景音频管理器。 小程序切入后台,...
    99+
    2024-04-02
  • 微信小程序音乐播放器检索页如何制作
    这篇文章主要介绍“微信小程序音乐播放器检索页如何制作”,在日常操作中,相信很多人在微信小程序音乐播放器检索页如何制作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序音乐播放器检索页如何制作”的疑惑有所...
    99+
    2023-06-26
  • 微信小程序怎么实现音乐播放器
    本篇内容介绍了“微信小程序怎么实现音乐播放器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   开始构建小程序首页。  第一步,我...
    99+
    2023-06-26
  • 微信小程序 初学——【音乐播放器】
    一、项目效果展示 音乐推荐页面展示 播放器展示 播放列表展示 二、项目结构 音乐小程序项目页面结构: 1.tab导航栏2.content内容区3.player音乐播放器控件 开发者工...
    99+
    2023-09-29
    微信小程序 前端 小程序
  • 微信小程序播放背景音乐
    1.实现效果 2.实现原理 1、wx.getBackgroundAudioManager : 获取全局唯一的背景音频管理器。 小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。 从微信客...
    99+
    2023-09-20
    微信小程序 小程序
  • 微信小程序音乐播放器的检索页如何制作
    本篇内容介绍了“微信小程序音乐播放器的检索页如何制作”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  这个函数很简单,我们在写历史记录页面时...
    99+
    2023-06-26
  • 微信小程序中实现——【音乐播放器】
    文章目录 一、学习目标1、掌握swiper组件、scroll-view组件的使用2、掌握image组件的使用3、掌握音频API的使用4、掌握slider组件的使用 二、开发前的准备1...
    99+
    2023-09-13
    微信小程序 小程序
  • 微信小程序如何控制音乐播放进度
    这篇“微信小程序如何控制音乐播放进度”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“微信小程序如何控制音乐播放进度”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们...
    99+
    2023-06-26
  • 微信小程序如何实现音乐播放器
    这篇文章主要介绍微信小程序如何实现音乐播放器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果图又用小程序内置的背景音乐播放的方法写了一遍,逻辑是一样的逻辑,希望对大家有所帮助!&n...
    99+
    2024-04-02
  • Android微信小程序播放背景音乐怎么实现
    这篇文章主要介绍“Android微信小程序播放背景音乐怎么实现”,在日常操作中,相信很多人在Android微信小程序播放背景音乐怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android微信小程序播...
    99+
    2023-06-26
  • 微信小程序音乐播放器页面渲染的方法
    本文小编为大家详细介绍“微信小程序音乐播放器页面渲染的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序音乐播放器页面渲染的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。  页面渲染  为了解决这...
    99+
    2023-06-26
  • 微信小程序如何获取音乐播放状态
    这篇文章主要介绍“微信小程序如何获取音乐播放状态”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序如何获取音乐播放状态”文章能帮助大家解决问题。wx.getBackgroundAudioPla...
    99+
    2023-06-26
  • 微信小程序怎么实现播放音频
    这篇文章主要介绍“微信小程序怎么实现播放音频”,在日常操作中,相信很多人在微信小程序怎么实现播放音频问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序怎么实现播放音频”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-19
  • 如何用PHP开发微信小程序的音乐播放功能?
    如何用PHP开发微信小程序的音乐播放功能?随着微信小程序的不断发展,越来越多的开发者开始关注如何在小程序中添加音乐播放功能。在本文中,我将介绍如何使用PHP开发微信小程序的音乐播放功能,并提供具体的代码示例。1.准备工作在开始之前,确保你已...
    99+
    2023-10-27
    音乐播放 PHP 微信小程序
  • 怎么使用qt制作音乐播放器
    要使用Qt制作音乐播放器,您可以按照以下步骤进行:1. 首先,确保已经安装了Qt开发环境。您可以从Qt官方网站上下载并安装Qt,确保...
    99+
    2023-08-09
    qt
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作