音乐播放小程序demo
生活随笔
收集整理的這篇文章主要介紹了
音乐播放小程序demo
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
好長時間以來,自己就有個想法為自己寫一個音樂播放器小程序,以方便自己的使用,找網上的好多API,找不到,想抓接口,好多大廠都用了加密。結果自己僅僅整了點本地的數據。
?
只介紹一些具體的方法:
// 解碼>>中文reconvert: function (str) {str = str.replace(/(\\u)(\w{1,4})/gi, function ($0) {return (String.fromCharCode(parseInt((escape($0).replace(/(%5Cu)(\w{1,4})/g, "$2")), 16)));});str = str.replace(/(&#x)(\w{1,4});/gi, function ($0) {return String.fromCharCode(parseInt(escape($0).replace(/(%26%23x)(\w{1,4})(%3B)/g, "$2"), 16));});str = str.replace(/(&#)(\d{1,6});/gi, function ($0) {return String.fromCharCode(parseInt(escape($0).replace(/(%26%23)(\d{1,6})(%3B)/g, "$2")));});return str;},// 解析歌詞的方法parseLyric: function (lrc) {var lyrics = lrc.split("\n");var lrcObj = {};for (var i = 0; i < lyrics.length; i++) {var lyric = decodeURIComponent(lyrics[i]);var timeReg = /\[\d*:\d*((\.|\:)\d*)*\]/g;var timeRegExpArr = lyric.match(timeReg);if (!timeRegExpArr)continue;var clause = lyric.replace(timeReg, '');if (clause.length > 0) {for (var k = 0, h = timeRegExpArr.length; k < h; k++) {var t = timeRegExpArr[k];var min = Number(String(t.match(/\[\d*/i)).slice(1)),sec = Number(String(t.match(/\:\d*/i)).slice(1));var time = min * 60 + sec;lrcObj[time] = clause;}}}return lrcObj;},// 轉換時間格式timeToString: function (duration) {var str = '';var minute = parseInt(duration / 60) < 10? ('0' + parseInt(duration / 60)): (parseInt(duration / 60));var second = duration % 60 < 10? ('0' + duration % 60): (duration % 60);str = minute + ':' + second;return str; },?
2.播放控制
// 播放狀態控制songPlay: function () {clearInterval(timer);var timer = setInterval(function () {// 獲取后臺音樂播放狀態wx.getBackgroundAudioPlayerState({success: function (res) {// 播放狀態 1表示播放中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)}});var i = that.data.currentIndexif (i < that.data.lyric.length) {if (res.currentPosition - 4 >= parseInt(that.data.lyric[i][0])) {that.setData({currentIndex: i + 1})}}if (that.data.currentIndex >= 5) {that.setData({scrollTop: (that.data.currentIndex - 5) * 20,})}} else {that.setData({ isPlaying: false });clearInterval(timer);}}});}, 1000);},具體項目我已經放https://github.com/dt8888/JokeProject,請去下載參考!
專欄作家
honey緣木魚。小程序社區博主,堅持原創分享技術博文。
本文原創發布于小程序社區。未經許可,禁止轉載
原文地址:音樂播放小程序demo-微信小程序聯盟/博主專區-微信小程序開發社區-微信小程序聯盟
?
相關文章:
微信小程序Demo:音樂之聲(音樂播放小程序)
微信小程序Demo:TealMusic音樂播放器
總結
以上是生活随笔為你收集整理的音乐播放小程序demo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在哪里可以找水系图_请问在哪可以找到广西
- 下一篇: PHP将汉字转化为拼音