中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

微信小程序怎么實現一個音樂播放器

這篇文章給大家分享的是有關微信小程序怎么實現一個音樂播放器的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創新互聯公司專業為企業提供富裕網站建設、富裕做網站、富裕網站設計、富裕網站制作等企業網站建設、網頁設計與制作、富裕企業網站模板建站服務,十余年富裕做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

推薦頁
完成標題欄后我們開始編寫推薦頁,即mainView=1時所要顯示的頁面。
根據圖10-2所示,推薦頁由上方的輪播組件(banner)以及下方的電臺列表兩部分構成。
為了完成這個頁面,我們先來看看網絡請求返回的數據格式。
這里使用開源數據:
http://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg
參照API接口章節里的內容,我們在services文件夾下創建music.js文件,在里面開始編寫網絡請求代碼:

// 獲取首頁的音樂數據
function getRecommendMusic(callback){
    //請求所需數據
    var data = {
            g_tk: 5381,
            uin: 0,
            format: 'json',
            inCharset: 'utf-8',
            outCharset: 'utf-8',
            notice: 0,
            platform: 'h6',
            needNewCode: 1,
            _: Date.now()
        };
        wx.request({
            //地址
            url: 'http://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg',
            //數據
            data: data,
            //表示返回類型為JSON
            header: {
                'Content-Type': 'application/json'
            },
            success: function (res) {
                if (res.statusCode == 200) {
                    callback(res.data)
                } else {
                }
            }
        });
}
module.exports = {
  getRecommendMusic:getRecommendMusic
}
復制代碼
通過這個請求,返回json格式的數據樣式為:
{
    "code": 0,
    "data": {
        "slider": [
            {
                "linkUrl": "http://share.y.qq.com/l?g=2766&id=1842365&g_f=shoujijiaodian",
                "picUrl": "/upload/otherpic59/19292.jpg",
                "id": 8642
            },
            {
                "linkUrl": "http://y.qq.com/live/zhibo/0214liwen.html",
                "picUrl": "/upload/otherpic59/19294.jpg",
                "id": 8645
            },
            {
                "linkUrl": "http://v.qq.com/live/p/topic/22876/preview.html",
                "picUrl": "/upload/otherpic59/19295.jpg",
                "id": 8653
            },
            {
                "linkUrl": "http://y.qq.com/m/act/singer/index.html?ADTAG=shoujijiao",
                "picUrl": "/upload/otherpic59/19297.jpg",
                "id": 8609
            },
            {
                "linkUrl": "http://y.qq.com/w/album.html?albummid=0035hOHV0uUWA9",
                "picUrl": "/upload/otherpic59/19305.jpg",
                "id": 8607
            }
        ],
        "radioList": [
            {
                "picUrl": "/upload/otherpic59/19306.jpg",
                "Ftitle": "熱歌",
                "radioid": 199
            },
            {
                "picUrl": "/upload/otherpic59/19307.jpg",
                "Ftitle": "一人一首招牌歌",
                "radioid": 307
            }
        ],
        "songList": []
    }
}


這里code為我們請求是否成功的標示,當它等于0時,表示請求成功。data里就是我們需要的數據,里面包含3個部分,我們需要使用的為前兩個,即slider部分——為我們的輪播組件提供數據,以及radioList部分——為電臺列表提供數據。 這兩部分會分別以數組格式保存,通過名稱來獲取相應數據。
有了數據之后,我們開始編寫顯示數據的組件:

<view hidden="{{currentView != 1}}">
  <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
    <block wx:for="{{slider}}" wx:key="unique">
      <swiper-item data-id="{{item.id}}">
        <image src="{{item.picUrl}}" style="height:100%" class="slide-image" />
      </swiper-item>
    </block>
  </swiper>
  <view class="channel">
    <text class="channel-title">電臺</text>
    <view class="radio-list">
      <block wx:for="{{radioList}}" wx:key="unique">
        <view class="radio-item" data-id="{{item.radioid}}" data-ftitle="{{item.Ftitle}}" bindtap="radioTap">
          <image class="radio-img" mode="aspectFit" style="height:167.5px;" src="{{item.picUrl}}" />
          <text class="radio-text">{{item.Ftitle}}</text>
        </view>
      </block>
    </view>
  </view>
</view>
復制代碼
最外層使用view組件包裹,當currentView!=1時隱藏。
輪播組件使用swiper組件來完成,設置是否顯示指示點,是否自動播放,切換間隔以及滑動時間4個屬性。每個swiper-item為圖片,使用item.picUrl從slider里獲取數據。
電臺部分使用列表格式,數據保存在radioList內。每個item包涵兩個部分:圖片和標題,以item.picUrl和item.Ftitle保存,此外還要保存每個item的ID(item.radioid)用于頁面跳轉。點擊的響應事件定義為radioTap。
至此我們需要的數據有:indicatorDots,autoplay,interval,duration,slider,radioList。我們把這些加入到index.js中的data里吧。
//引用網絡請求文件
var MusicService = require('../../services/music');
//獲取應用實例
var app = getApp()
Page({
    data: {
        indicatorDots: true,
        autoplay: true,
        interval: 5000,
        duration: 1000,
        radioList: [],
        slider: [],
        mainView: 1,
    },
    onLoad: function () {
        var that = this;
        MusicService.getRecommendMusic(that.initPageData);
    },
})

data寫好后,我們在onLoad里調用我們寫好的網絡請求函數,傳入的參數(that.initPageData)即當請求成功后需要執行的函數,在這個函數里我們為數組radioList和slider賦值。

initPageData: function (data) {
        var self = this;
        //請求成功再賦值,需要判斷code是否為0
        if (data.code == 0) {
            self.setData({
                slider: data.data.slider,
                radioList: data.data.radioList,
            })
        }
    },
復制代碼
到此為止我們的頁面應該可以顯示數據了,最后一步我們要給寫好的view添加點擊事件radioTap,讓用戶點擊后跳轉到play(音樂播放)頁面。
radioTap: function (e) {
        var dataSet = e.currentTarget.dataset;
        ...
    },

在跳轉的時候,我們需要通過已經獲得的radioid向網絡請求數據,返回歌曲列表,并且在播放頁面加載這個列表,這一部分就留到音樂播放頁再完成吧。

感謝各位的閱讀!關于“微信小程序怎么實現一個音樂播放器”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網頁標題:微信小程序怎么實現一個音樂播放器
網站地址:http://m.2m8n56k.cn/article26/jdshjg.html

成都網站建設公司_創新互聯,為您提供外貿建站建站公司網站建設網站排名ChatGPT響應式網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站制作
主站蜘蛛池模板: 手机在线日韩高清理论片 | 午夜毛片免费观看视频 | 国产成人久久777777 | 亚洲第一大网站 | 加勒比日本 | 欧美一级永久免费毛片在线 | 亚洲成a人片在线观看中 | 九草视频| 国产片在线观看狂喷潮bt天堂 | 91色久| 亚洲视频自拍 | 在线日韩中文字幕 | 中文字幕一区二区三区精彩视频 | 国内一级特黄女人精品片 | 日韩欧美成人乱码一在线 | 久久15| 久久一区二区三区免费 | 韩国免费毛片 | 国产亚洲精品一区二区三区 | 国产国产成人人免费影院 | 亚洲人欧洲日韩 | 国产主播福利精品一区二区 | 日本韩国一区二区三区 | 国产成人在线免费视频 | 亚欧成人毛片一区二区三区四区 | 日韩在线视频不卡一区二区三区 | 99久久免费国产香蕉麻豆 | 国产免费亚洲 | 91香蕉网 | 亚洲日韩精品欧美一区二区 | 国产男女交性视频播放免费bd | 香蕉久久一区二区不卡无毒影院 | 欧美成人精品高清在线播放 | 九九精品成人免费国产片 | 欧美特黄特色aaa大片免费看 | 久久欧美 | 欧美做爰免费大片在线观看 | 国产一级精品高清一级毛片 | 久久精品国产亚洲精品2020 | 91在线精品亚洲一区二区 | 成人精品在线 |