代码示例:

[AppleScript]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
var util = require ( '.. / .. / utils / util.js' )
var app = getApp ( )
Page ( {
     data : {
         playingSong : { } ,
         songUrl : '' ,
         songImg : '' ,
         songState : {
             progress : 0 ,
             currentPosition : ' 00 : 00 ' ,
             duration : ' 00 : 00 '
         } ,
         isPlaying : true ,
         lyric : ''
     } ,
     onLoad : function ( ) {
         console. log ( 'playsong onLoad' ) ;
         let that = this;
         let songdata = app.globalData.songData;
         
         that .setData ( {
             playingSong : songdata ,
             songUrl : 'http : / / ws.stream.qqmusic.qq.com / C 100 ' + songdata.songmid + '.m 4 a?fromtag = 38 ' ,
             songImg : 'http : / / y.gtimg.cn / music / photo_new / T 002 R 150 x 150 M 000 ' + songdata.albummid + '.jpg' ,
         } ) ;
         let thatData = that . data ;
         wx.playBackgroundAudio ( {
             dataUrl : thatData.songUrl ,
             title : thatData.playingSong.songname ,
             coverImgUrl : thatData.songImg ,
             success : function ( res ) {
                 / / do something
             }
         } ) ;
     } ,
     onReady : function ( ) {
         console. log ( 'playsong onReady' ) ;
         let that = this;
         that .songPlay ( ) ;
         wx.onBackgroundAudioPlay ( function ( ) {
             console. log ( '播放了' ) ;
             that .songPlay ( ) ;
         } ) ;
     } ,
     timeToString : function ( duration ) {
         let str = '';
         let minute = parseInt ( duration / 60 ) < 10 ? ( ' 0 ' + parseInt ( duration / 60 ) ) : ( parseInt ( duration / 60 ) ) ;
         let second = duration% 60 < 10 ? ( ' 0 ' + duration% 60 ) : ( duration% 60 ) ;
         str = minute + ' : ' + second ;
         return str;
     } ,
     songPlay : function ( ) {
         let that = this;
         let inv = setInterval ( function ( ) {
             wx.getBackgroundAudioPlayerState ( {
                 success : function ( res ) {
                     if ( res.status = = 1 ) {
                         that .setData ( {
                             isPlaying : true ,
                             songState : {
                                 progress : res.currentPosition / res.duration * 100 ,
                                 currentPosition : that .timeToString ( res.currentPosition ) ,
                                 duration : that .timeToString ( res.duration )
                             }
                         } )
                     } else {
                         that .setData ( {
                             isPlaying : false
                         } ) ;
                         clearInterval ( inv ) ;
                     }
                 }
             } ) ;
         } , 1000 ) ;
     } ,
     songToggle : function ( ) {
         let that = this;
         if ( that . data .isPlaying ) {
             wx.pauseBackgroundAudio ( ) ;
         } else {
             wx.playBackgroundAudio ( {
                 title : that . data .playingSong.songname ,
                 coverImgUrl : that . data .songImg
             } ) ;
         } ;
         that .songPlay ( ) ;
     }
} )

项目地址及下载:

本帖隐藏的内容

https://github.com/linima/wx_qqmusic
  wx_qqmusic-master.zip (34.5 KB, 下载次数: 5)

微信小程序demo:QQ音乐;音乐搜索,音乐列表及播放停止相关推荐

  1. 最全微信小程序demo

    wx-gesture-lock  微信小程序的手势密码 WXCustomSwitch 微信小程序自定义 Switch 组件模板 WeixinAppBdNovel 微信小程序demo:百度小说搜索 sh ...

  2. 微信小程序版QQ音乐

    来源 <a href="http://www.see-source.com:80/weixinwidget/downloadZip.html?wid=161">实例源码 ...

  3. 手把手教你迁移微信小程序到 QQ 浏览器!

    继微信.QQ 之后,QQ 浏览器上也可以使用小程序了. 12 月 5 日,QQ浏览器小程序宣布,实现与微信小程序打通.QQ 浏览器 Android 版现已上线小程序,在搜索的场景下,小程序嵌入 QQ ...

  4. java小程序贪吃蛇代码_微信小程序Demo之贪食蛇

    原标题:微信小程序Demo之贪食蛇 差不多大半年前,笔者发布了一篇关于OC版贪食蛇开发的文章,时隔多月,微信小程序横空出世,于是闲来无事的我又写了一个小程序版. 01页面布局 关于小程序笔者就不做介绍 ...

  5. 微信小程序和QQ小程序图片安全内容检测接口之ThinkPHP实现

    由于相关管控,UGC小程序的开发者,必须要过滤违法违规内容(如黄). UGC小程序官方定义: 小程序中的功能或服务中,涉及用户将自己自定义编辑的文字.图片.音频.视频等内容通过小程序进行展示或提供给其 ...

  6. php获取QQ音乐直链,微信小程序-获取QQ音乐直链

    获取QQ音乐直链-用于微信小程序 补充:以下方法获取的直链会有失效期,如果大家有嗅探等工具可以直接上QQ音乐网站获取资源的直链,此方法仅供参考. 问题起源: 最近在做小程序音频播放这一块的时候发现一个 ...

  7. 微信小程序云开发之网易云音乐

    这是跟着慕课网谢成老师敲得代码 注意 知识点 疑惑 思路 妙 优化 一个要注意的地方:如果获取歌词的时候报错(才发现解决办法的图片没传上来 大概就是改变一下请求头数据) 第一章课程介绍 云开发(音乐播 ...

  8. 微信小程序Demo之电影评分功能

    实现步骤 一.准备工序 二.新建项目 一.准备工序   具体代码开源到github,欢迎star 参考微信官方文档. 微信社区交流(有问题时可以在此网站搜索一哈) 官网注册账号 2.1 注册[微信小程 ...

  9. 小程序 | 注释级微信小程序demo,助你快速切入开发

    写在前面 小程序开发渐进红利期,更多开发者慕名而来,网上的学习资料也层出不穷,有点眼花缭乱的意思了.在经过一个多月的摸索式学习后,我也终于写了不算精美的一个小程序. 那为什么写这篇文章: 总结经验 - ...

  10. 从零开始创建微信小程序Demo

    微信小程序: 微信公众平台:https://mp.weixin.qq.com/ 小程序官方文档:https://developers.weixin.qq.com/miniprogram/dev/fra ...

最新文章

  1. 高频面试题:Spring 如何解决循环依赖?
  2. 【Paper】2019_带有不匹配干扰的多智能体系统有限时间积分滑模控制
  3. 用一个demo理解一下Flutter动画内部的代码流程
  4. 守护线程 java 1615478655
  5. Cisco路由配置命令
  6. jde多目标_《和平精英》PEL职业联赛S3赛季:DKG战队获第四周周冠军,JDE“逆风翻盘”...
  7. mixpanel实验教程(2)
  8. java jersey get_java – Jersey GET请求可以返回一个多态实体吗​​?
  9. 数据结构与算法之美-队列
  10. 【离散数学】集合论 第三章 集合与关系(4) 集合的归纳定义、归纳证明、数学归纳法第一/二原理
  11. 腾讯云图(TCV)使用指南
  12. 线性最优离散滤波器——维纳滤波器及LCMV MVDR GSC (自适应滤波)
  13. thread ‘<unnamed>‘ panicked at ‘assertion failed: `(left == right)`
  14. ZYNQ裸板:LHB155304-RT篇
  15. SQL 添加、删除、更改字段(属性)
  16. VBA中同一模块Sub过程按顺序调用?
  17. joomla后台拿shell
  18. 利用Java通过阿里云对图片进行内容审核
  19. 常见深度学习目标检测算法总结
  20. 【JavaScript】函数应用

热门文章

  1. sublime text的snippet介绍,提高编程效率
  2. Vue3+i18n多语言动态国际化设置步骤
  3. 2021国内短信验证码价格短信服务商TOP6
  4. python从EXCEL中读取数据转换为列表
  5. 【正点原子Linux连载】第六十四章 Linux 多点电容触摸屏实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
  6. mysql火焰图_火焰图(Flame Graphs)的安装和基本用法
  7. 湖南中医药大学信息科学与工程学院第四届大学生程序设计竞赛——正式赛题解
  8. 多维前缀和 学习笔记 模板及例题
  9. jstl-sql使用
  10. 某某找房cookie必要参数acw_sc__v2加密