国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序--音樂播放器

這篇具有很好參考價值的文章主要介紹了微信小程序--音樂播放器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

微信小程序頁面結構和組件練習--音樂播放器

說明:

  • 這個項目旨在練習組件以及頁面的設計。頁面和交互的實現(xiàn)可能有多種方式,這里只為了對組件和項目的結構進行熟悉了解。后續(xù)會有更加完善的項目。
  • 由于涉及到mp3外鏈導入音樂,預覽二維碼在外鏈失效時會出錯,這里不放預覽二維碼了;另預覽二維碼存在有效時長,有興趣的可以自己試著運行程序,在運行程序之前更換mp3外鏈的地址,以防出錯。mp3外鏈獲?。ㄒ魳吠怄溤诰€獲取_音樂外鏈生成網站_音樂在線聽-mp3外鏈網 (xf1433.com))。
  • 喜歡的可以點個贊,如果有問題或者想要完整的項目代碼及素材,評論區(qū)有百度云鏈接。

效果圖:

?微信小程序--音樂播放器? ? ?微信小程序--音樂播放器? ? ?微信小程序--音樂播放器

  • 三個頁面通過輪播圖的方式進行切換并實現(xiàn)一定的交互效果。其中,音樂推薦頁沒有設定交互;播放器頁的進度條具有滑動可改變進度;播放列表頁具有播放列表音樂的事件;底部的顯示區(qū)域具有控制音頻的交互。
  • 遇到的問題:布局嵌套;初始數(shù)據的訪問;渲染的嵌套使用;

bug:

  • 播放器頁面的播放時長和進度條的顯示:頁面首次加載獲取不到默認曲目的音頻時長。按下一首和播放列表進行播放也不顯示,按暫停后再按播放就能正常顯示。

代碼部分:

  • 這里給出項目的代碼,沒給出代碼卻存在的文件內容為空。關于素材方面,icon和img分別是圖片和圖標文件夾;照片是平時拍的,圖標在阿里巴巴圖標庫找的(iconfont-阿里巴巴矢量圖標庫)。

微信小程序--音樂播放器

app.json?

{

??"pages":?[

????"pages/index/index"

??],

??"window":?{

????"navigationBarBackgroundColor":?"#e0e0e0",

????"navigationBarTextStyle":?"black",

????"navigationBarTitleText":?"音樂"

??},

??"sitemapLocation":?"sitemap.json"

}

?index.wxml

<view?class="tap"><!--導航區(qū)域-->

??<view?class="tap1"?bindtap="onRecommend"?data-item="0">音樂推薦</view>

??<view?class="tap1"?bindtap="onPlay"?data-item="1">播放器</view>

??<view?class="tap1"?bindtap="onList"?data-item="2">播放列表</view>

</view>

<view?class="contain"><!--內容區(qū)域-->

??<swiper?current="{{item}}">

??????<swiper-item><include?src="recommend.wxml"?/></swiper-item>

??????<swiper-item><include?src="play.wxml"?/></swiper-item>

??????<swiper-item><include?src="list.wxml"?/></swiper-item>

??</swiper>

</view>

<view?class="footer"><!--底部區(qū)域-->

??<view>

????<view?class="footer1">

??????<image?src="{{playSing.musiccoverImg}}"?class="footerImage"></image>

????</view>

????<view?class="footer2">

??????<view>{{playSing.musicsong}}</view>

??????<view>{{playSing.musicsinger}}</view>

????</view>

????<view?class="footer3">

??????<view>

????????<image?src="../../icon/菜單.png"?bindtap="menuTap"?data-item="2"></image>

????????<view>

??????????<image?wx:if="{{!isPlayMusic}}"?src="../../icon/暫停.png"?bindtap="pauseTap"></image>

??????????<image?wx:else?src="../../icon/播放.png"?bindtap="playTap"></image>

????????</view>

????????<image?src="../../icon/下一曲.png"?bindtap="nextTap"></image>

??????</view>

????</view>

??</view>

</view>

?index.wxss

page{

??display:?flex;flex-direction:?column;background:?rgb(146,?128,?121);height:?100%;

}

.tap{display:?flex;

??background-color:?rgb(82,?240,?121);height:?70rpx;

}

.tap1{flex:?1;font-size:?20px;text-align:center;border-bottom:?solid?5rpx?rgb(50,?9,?235);}?

.contain{flex:1;}

.contain>swiper{height:100%;background-color:?rgb(42,?182,?147);}

.recom1{margin-bottom:?60rpx;height:?550rpx;}

.recom1?image{width:?100%;height:?100%;}

.recom2{display:?flex;flex-wrap:wrap;margin-bottom:?20rpx;}

.recom2>view{flex:?1;text-align:?center;}

.recom2?image{width:?120rpx;height:?100rpx;border:?solid?4rpx?rgb(120,?223,?197);border-radius:?10%;}

.recom3{display:?flex;flex-wrap:wrap;flex:?1;margin-bottom:?20rpx;}

.recom3>view{text-align:center;margin:?10rpx?20rpx;}

.recom3?image{width:?210rpx;height:?140rpx;border-radius:?10%;}

.list{display:?flex;flex:?1;flex-direction:?column;?}

.list>view{border-bottom:?solid?3rpx?rgb(24,?216,?223);display:?flex;}

.list?image{width:?100rpx;height:?100rpx;margin:?15rpx;}

.list2{flex:?1;}

.list2_1{diaplaly: flex;}

.list2_1>view:first-child{text-align:?left;margin-top:?20rpx;}

.list2_1>view:last-child{flex:1;text-align:?right;margin-top:?50rpx;margin-right:?20rpx;}

.play{height:100%;display:?flex;flex-direction:?column;justify-content:?center;}

.play1{text-align:?center;margin:20rpx;font-size:?40rpx;}

.play2{text-align:?center;flex:?1;}

.play2?image{width:?350rpx;height:350rpx;border-radius:?50%;margin-top:?130rpx;}

.playrotate{animation:?animateRotate?10s?linear?infinite;}

.play3{display:?flex;}

.play3?slider{flex:?1;}

.play3>view:first-child{margin:?20rpx?0rpx?20rpx?20rpx;padding:0rpx;}

.play3>view:last-child{margin:?20rpx?20rpx?20rpx?0rpx;padding:0rpx;}

.footer{background-color:rgb(12,?228,?243);font-size:?18px;}

.footer>view{display:?flex;}

.footerImage{width:?80rpx;height:?80rpx;margin:?15rpx;}

.footer2{display:?flex;flex-direction:?column;}

.footer2?view{text-align:?center;margin:?5rpx;font-size:?30rpx;}

.footer3{flex:?1;}

.footer3>view{display:?flex;justify-content:?flex-end;padding-top:?20rpx;}

.footer3?image{width:?70rpx;height:?70rpx;margin:?0rpx?15rpx;}

@keyframes?animateRotate{

??from{transform:?rotate(0deg);}

??to{transform:?rotate(360deg);}

}

?index.js

Page({

??data:?{

????item:0,

????isactive:0,

????isPlayMusic:false,

????isrotate:false,

????isplay:true,

????listSing:[

??????{id:"1",song:"八月夜桂花",singer:"還潮",coverImg:"../../img/sw1.jpg",audioSrc:"https://sharefs.ali.kugou.com/202107232134/30280d96986673559df9ab931c6bc75b/G174/M02/0D/01/7g0DAF3n4iOAcc9TAD3rmaDghjI270.mp3"},

??????{id:"2",song:"晚風",singer:"陳婧霏",coverImg:"../../img/sw2.jpg",audioSrc:"https://sharefs.ali.kugou.com/202107232131/e87b792dd4206b1c082ed389d423512d/G164/M03/04/00/5A0DAF1c-AKAeVXaACsys46W7mQ528.mp3"},

??????{id:"3",song:"親密愛人",singer:"梅艷芳",coverImg:"../../img/sw3.jpg",audioSrc:"http://mp.333ttt.com/mp3music/22851062.mp3"},

??????{id:"4",song:"在冬天和奶奶一起曬太陽",singer:"趙照",coverImg:"../../img/sw1.jpg",audioSrc:"https://sharefs.ali.kugou.com/202107232134/7a25da194582ddcf4cf6f856701b50e5/G189/M0A/15/18/nZQEAF5ZEk6AfipaAEPqyN-VYhI072.mp3"},

??????{id:"5",song:"晚安",singer:"林宥嘉",coverImg:"../../img/sw3.jpg",audioSrc:"https://sharefs.ali.kugou.com/202107222148/67074aa123d09ee52aa715578b487694/KGTX/CLTX001/c59c04254efa6f54d7bdd675947f68ac.mp3"},

??????{id:"6",song:"Sofia",singer:"Alvaro?Soler",coverImg:"../../img/sw2.jpg",audioSrc:"https://sharefs.ali.kugou.com/202107231545/a70098ef00c6fdbb3722f0c0a32a12e7/G201/M01/0A/04/aYcBAF5ABeiAL5WOADNmeboY3wg848.mp3"},

??????{id:"7",song:"Wild",singer:"Monogem",coverImg:"../../img/sw1.jpg",audioSrc:"https://sharefs.ali.kugou.com/202107231546/2a37951e34e374ad35749dcefa39f28e/G119/M04/04/17/tw0DAFpOGEOAKYizADS68iNCyy4692.mp3"},

??????{id:"8",song:"童話鎮(zhèn)",singer:"暗杠",coverImg:"../../img/sw3.jpg",audioSrc:"https://sharefs.ali.kugou.com/202107231550/275d29499eba4450e5751bba98ad2563/G062/M03/14/11/fg0DAFd1IvSAJlbkAD0PMS2Gwek596.mp3"}

????],

????playSing:{

??????musicsong:'',

??????musicsinger:'',

??????musiccoverImg:'',

??????currenttime:'00:00',

??????totaltime:'00:00',

??????percent:0

????}

????

??},

??//可直接訪問并賦值屬性

??audio:null,

??indexlist:0,

??musicnum:0,

??//頂部欄事件

??onRecommend:function(e){

????this.setData({item:e.target.dataset.item,isactive:0})

??},

??onPlay:function(e){this.setData({item:e.target.dataset.item,isactive:1})},

??onList:function(e){this.setData({item:e.target.dataset.item,isactive:2})},

??//recommend頁面事件

??

??//play頁面事件

??onMusic:function(index){

????var?music?=?this.data.listSing[index];

????this.audio.src=music.audioSrc;

????this.setData({

??????'playSing.musicsong':music.song,

??????'playSing.musicsinger':music.singer,

??????'playSing.musiccoverImg':music.coverImg,

??????'playSing.totaltime':'00:00',

??????'playSing.currenttime':'00:00'???????

????})

??},

??onSlider:function(e){

????this.audio.seek(e.detail.value/100*this.audio.duration)

????this.setData({

??????'playSing.currenttime':formatTime(e.detail.value/100*this.audio.duration),

??????'playSing.totaltime':formatTime(this.audio.duration),

??????'playSing.percent':this.audio.currentTime/this.audio.duration*100

????})

????function?formatTime(time){

??????var?minute=Math.floor(time/60)%60;

??????var?second=Math.floor(time)%60;

??????return?(minute<10??'0'+minute?:?minute)?+?':'?+?(second<10??'0'+second:second)

????}

??},

??//底部播放欄事件

??menuTap:function(e){

????this.setData({item:e.target.dataset.item})

??},

??pauseTap:function(){

????this.onAuxiliary()

????this.audio.play()

??},

??playTap:function(){

????this.audio.pause()

????this.setData({isPlayMusic:false,isrotate:false})

??},

??nextTap:function(){

????if(this.musicnum?<=?(this.indexlist+1)){

??????this.indexlist=0;

??????this.onMusic(this.indexlist)??//音樂信息

??????this.onAuxiliary()?????????????//音樂輔助事件

??????this.audio.play()?????????????//播放音樂

??????return

????}

????this.onMusic(++this.indexlist)

????this.onAuxiliary()

????this.audio.play()

??},

??//list頁面事件

??musicList:function(e){

????//這里對應底部的播放器的變化,同時右邊當前播放顯示,且音樂播放。

????this.onMusic((e.currentTarget.dataset.listorder)-1)

????this.indexlist=(e.currentTarget.dataset.listorder)-1;

????this.onAuxiliary()

????this.audio.play()

??},

??//輔助函數(shù)

??onAuxiliary:function(){???//此輔助函數(shù)為添加播放的事件監(jiān)聽

????this.setData({isPlayMusic:true,isrotate:true})

????this.audio.onError(()=>{wx.showToast({????/*在播放的界面里寫錯誤和結束事件?*/

??????title:?'播放地址錯誤'

????})})

????this.audio.onEnded(()=>{

??????this.nextTap()

????})

????/*使用播放事件來時刻顯示播放進度?*/

????//?this.audio.onPlay(()=>{?})

????this.audio.onTimeUpdate(()=>{

??????this.setData({

????????'playSing.totaltime':formatTime(this.audio.duration),

????????'playSing.currenttime':formatTime(this.audio.currentTime),

????????'playSing.percent':this.audio.currentTime/this.audio.duration*100

??????})

????})

????function?formatTime(time){

??????var?minute=Math.floor(time/60)%60;

??????var?second=Math.floor(time)%60;

??????return?(minute<10??'0'+minute?:?minute)?+?':'?+?(second<10??'0'+second:second)

????}

??},

})

?recommend.wxml

<scroll-view?class="recom"?scroll-y="true"?style="height:100%;">

??<swiper?class="recom1"?indicator-dots="true"?autoplay?circular>

????<swiper-item><image?src="../../img/sw1.jpg"?mode="aspectFill"></image></swiper-item>

????<swiper-item><image?src="../../img/sw2.jpg"?mode="aspectFill"></image></swiper-item>

????<swiper-item><image?src="../../img/sw3.jpg"?mode="aspectFill"></image></swiper-item>

??</swiper>

??<view?class="recom2">

????<view>?

??????<image?src="../../img/sw1.jpg"></image>

??????<view>私人FM</view>

????</view>

????<view>

??????<image?src="../../img/sw11.jpg"></image>

??????<view>每日歌曲推薦</view>

????</view>

????<view>

??????<image?src="../../img/sw3.jpg"></image>

??????<view>云音樂新歌榜</view>

????</view>

??</view>

??<view?style="margin-left:20rpx;margin-bottom:10rpx;">熱門音樂</view>

??<view?class="recom3">

????<view?class="recom3_1">

??????<image?src="../../img/sw11.jpg"></image>

??????<view>紫羅蘭</view>

????</view>

????<view?class="recom3_1">

??????<image?src="../../img/sw11.jpg"></image>

??????<view>五月之家</view>

????</view>

????<view?class="recom3_1">

??????<image?src="../../img/sw11.jpg"></image>

??????<view>菩提樹</view>

????</view>

????<view?class="recom3_1">

??????<image?src="../../img/sw11.jpg"></image>

??????<view>紫羅蘭</view>

????</view>

????<view?class="recom3_1">

??????<image?src="../../img/sw11.jpg"></image>

??????<view>五月之家</view>

????</view>

????<view?class="recom3_1">

??????<image?src="../../img/sw11.jpg"></image>

??????<view>菩提樹2</view>

????</view>

??</view>

</scroll-view>文章來源地址http://www.zghlxwxcb.cn/news/detail-489446.html

play.wxml

<view?class="play">

???<view?class="play1">

??????<view>{{playSing.musicsong}}</view>

??????<view>--{{playSing.musicsinger}}--</view>

???</view>

???<view?class="play2">

??????<image?src="{{playSing.musiccoverImg}}"?class="{{isrotate?'playrotate':'pauserotate'}}"></image>

???</view>

???<view?class="play3">

??????<view>{{playSing.currenttime}}</view>

??????<slider?block-size="12"?value="{{playSing.percent}}"?bindchange="onSlider"></slider>

??????<view>{{playSing.totaltime}}</view>

???</view>

</view>

list.wxml

<scroll-view?scroll-y="true"?style="height:100%">

??<view?class="list">

????<view?wx:for="{{listSing}}"?wx:key="id"?wx:for-item="item1">

??????<view?class="list1">

????????<image?src="{{item1.coverImg}}"?mode="aspectFill"></image>

??????</view>

??????<view?class="list2">

????????<view?bindtap="musicList"?class="list2_1"?data-listorder="{{item1.id}}">

????????<view?class="list3">

??????????<view>{{item1.song}}</view>

??????????<view>{{item1.singer}}</view>

????????</view>

????????<view?class="list3?list3-{{isplaycolor???'iscolor'?:?''}}"><view?wx:if="{{true}}">點擊播放</view></view>

??????</view>

??????</view>

????</view>

??</view>

??<view?style="text-align:center;font-size:40rpx;">待更新~</view>

</scroll-view>

到了這里,關于微信小程序--音樂播放器的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 微信小程序音樂播放器【含源碼】

    微信小程序音樂播放器【含源碼】

    微信小程序音樂播放器 取源碼私聊

    2024年02月06日
    瀏覽(27)
  • 微信小程序實現(xiàn)音樂播放器(1)

    微信小程序實現(xiàn)音樂播放器(1)

    代碼涉及的主要文件有: app.json app.wxss pages/music/music.json pages/music/music.wxml pages/music/music.wxss pages/music/music.js 另外,你可能需要的圖片資源,在這里! BackgroundAudioManager實現(xiàn)背景音樂 imzusheng / netease-music-uniapp

    2024年02月09日
    瀏覽(24)
  • 微信小程序仿網易音樂播放器項目

    微信小程序仿網易音樂播放器項目

    主頁樣式 播放頁樣式 搜索頁樣式 排行榜頁樣式 小控件樣式 網易云音樂API接口 后端接口,使用node寫的,使用了網易云音樂API: 封裝的api文件 主頁面功能點 banner,滑動菜單欄采用微信的API( swiper 與 scroll-view )進行開發(fā) 滑動到底部重新獲取后續(xù)的歌曲,使用onReachBottom周期

    2024年02月06日
    瀏覽(30)
  • java微信小程序音樂播放器分享系統(tǒng)

    java微信小程序音樂播放器分享系統(tǒng)

    隨著我國經濟迅速發(fā)展,人們對手機的需求越來越大,各種手機軟件也都在被廣泛應用,但是對于手機進行數(shù)據信息管理,對于手機的各種軟件也是備受用戶的喜愛,音樂播放器小程序被用戶普遍使用,為方便用戶能夠可以隨時進行音樂播放器小程序的數(shù)據信息管理,特開發(fā)了基于音樂

    2024年02月11日
    瀏覽(26)
  • 基于微信小程序的音樂播放器設計

    基于微信小程序的音樂播放器設計

    目 錄 1緒論 1 1.1選題背景及意義 1 1.2發(fā)展現(xiàn)狀 1 1.2.1什么是微信小程序 1 1.2.2小程序市場的現(xiàn)狀 4 1.3研究主要內容 4 2系統(tǒng)技術 5 2.1 Java語言 5 2.2 SSM框架 6 2.3 Vue.js框架 7 2.4 Eclipse開發(fā)工具 8 2.5數(shù)據庫 9 2.6系統(tǒng)開發(fā)環(huán)境概述 10 3系統(tǒng)分析 12 3.1 功能需求(用例圖分析) 12 3.1.1 網絡音

    2024年02月11日
    瀏覽(18)
  • 微信小程序實現(xiàn)一個音樂播放器的功能

    1.頁面包含一個音樂列表,點擊列表中的音樂可以播放對應的音樂。 2.播放中的音樂在列表中有標識,并且可以暫停或繼續(xù)播放。 3.顯示當前音樂的播放進度和總時長,并可以拖動進度條調整播放進度。 4.點擊切換按鈕可以切換到下一首音樂。 5.點擊循環(huán)按鈕可以切換音樂的

    2024年01月22日
    瀏覽(35)
  • uniapp 仿網易云音樂播放器 微信小程序

    uniapp 仿網易云音樂播放器 微信小程序

    uniapp 仿照網易云播放器功能

    2024年02月12日
    瀏覽(28)
  • ssm基于微信小程序的音樂播放器(程序+開題)

    ssm基于微信小程序的音樂播放器(程序+開題)

    本系統(tǒng)(程序 + 源碼)帶文檔 lw 萬字以上 文末可獲取一份本項目的 java 源碼和數(shù)據庫參考。 研究背景: 隨著移動互聯(lián)網的普及和智能手機的廣泛應用,人們對于音樂的需求也越來越高。傳統(tǒng)的音樂播放器存在著功能單一、操作繁瑣等問題,無法滿足用戶的需求。因此,開發(fā)

    2024年02月02日
    瀏覽(31)
  • 微信小程序——實現(xiàn)音樂播放器(上下切換歌曲、進度條拉動、暫停與繼續(xù)播放)

    微信小程序——實現(xiàn)音樂播放器(上下切換歌曲、進度條拉動、暫停與繼續(xù)播放)

    小伙伴們你們有沒有想過自己搞一個播放器,播上自己喜歡的歌單,那是多么的愜意啊~ 之前,小編遇到一個項目,語音導覽的播放器。其實跟播放歌單一個道理。 但是一看微信開發(fā)文檔里面的音頻API又是那么多,我們該如何選擇呢?在這里小編選擇了使用wx.createAudioContext

    2024年02月02日
    瀏覽(21)
  • 案例115:基于微信小程序的音樂播放器的設計與實現(xiàn)

    案例115:基于微信小程序的音樂播放器的設計與實現(xiàn)

    文末獲取源碼 開發(fā)語言:Java 框架:SSM JDK版本:JDK1.8 數(shù)據庫:mysql 5.7 開發(fā)軟件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序開發(fā)軟件:HBuilder X 小程序運行軟件:微信開發(fā)者 目錄 目錄 前言 系統(tǒng)展示 系統(tǒng)首頁界面的設計實現(xiàn) 用戶注冊功能的設計實現(xiàn) 用戶登

    2024年02月02日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包