coverImgUrl:‘…/…/images/music.png’
},{
id:4,title:‘爱之梦’,singer:‘李斯特’,
src:‘http://music.163.com/song/media/outer/url?id=5276814.mp3’,
coverImgUrl:‘…/…/images/music.png’
},
],
state:‘paused’,
playIndex:0,
play:{
currentTime:‘00:00’,
duration:‘00:00’,
percent:0,
title:‘’,
singer:‘’,
coverImgUrl:‘…/…/images/music.png’
}
},
playlist数据说明
-
id:每条记录的唯一标识
-
title:曲目标题
-
singer:艺术家
-
src:网络中的音频文件链接地址
-
coverImgUrl:专辑封面图片的链接地址
音乐状态属性
-
state:音乐的播放状态,paused表示暂停,running表示播放
-
playIndex:当前播放曲目在播放列表数组中的索引值
-
play:当前播放曲目的信息
-
currentTime:播放时长
-
duration:总时长
-
percent:播放进度
-
title:当前播放的曲目标题
-
singer:当前播放的曲目的艺术家
-
coverImgUrl:当前播放的曲目的专辑封面
5.1 布局文件(pages/index/index.wxml)
{{play.title}}
{{play.singer}}
![](../images/list.png)
![](../images/Play.png)
![](../images/Pause.png)
![](../images/rewind-right.png)
5.2 样式文件(pages/index/index.wxss)
.player{
display: flex;
align-items: center;
background: #222;
border-top: 1px solid #252525;
height: 112rpx;
}
.player-cover{
width: 80rpx;
height: 80rpx;
margin-left: 15rpx;
border-radius: 8rpx;
border:1px solid #333;
}
.player-info{
flex:1;
font-size: 10pt;
line-height: 38rpx;
margin-left: 20rpx;
padding-bottom: 8rpx;
}
.player-info-singer{
color: #888;
}
.player-controls image{
width:80rpx;
height: 80rpx;
margin-right: 15rpx;
}
5.3 逻辑文件(pages/index/index.js)
audioCtx:null,
onReady: function () {
this.audioCtx=wx.createInnerAudioContext()
//默认选中第1曲
this.setMusic(0)
},
setMusic:function(index){
var music=this.data.playlist[index]
this.audioCtx.src=music.src
this.setData({
playIndex:index,
‘play.title’:music.title,
‘play.singer’:music.singer,
‘play.coverImgUrl’:music.coverImgUrl,
‘play.currentTime’:‘00:00’,
‘play.duration’:‘00:00’,
‘play.percent’:0
})
},
play:function(){
this.audioCtx.play()
this.setData({state:‘running’})
},
pause:function(){
this.audioCtx.pause()
this.setData({state:‘paused’})
},
next:function(){
var index=this.data.playlist>=this.data.playlist.length-1?0:this.data.playIndex+1
this.setMusic(index)
if(this.data.state==‘running’){
this.play()
}
},
5.4 效果
6.1 布局文件(pages/index/play.wxml)
——{{play.singer}}——
6.2 样式文件(pages/index/index.wxss)
.content-play{
display: flex;
justify-content: space-around;
flex-direction: column;
height: 100%;
text-align: center;
}
.content-play-info>view{
color: #888;
font-size: 11pt;
}
.content-play-cover image{
animation:rotateImage 10s linear infinite;
width: 400rpx;
height: 400rpx;
border-radius: 50%;
border: 1px solid #333;
}
@keyframes rotateImage{
from {
transform:rotate(0deg);
}
to {
transform:rotate(360deg);
}
}
.content-play-progress{
display: flex;
align-items: center;
margin:0 35rpx;
font-size:9pt;
text-align: center;
}
.content-play-progress>view{
flex:1;
}
6.3 逻辑文件(播放进度)
onReady: function () {
this.audioCtx=wx.createInnerAudioContext()
var that=this;
//播放失败检测
this.audioCtx.onError(function(){
console.log(‘播放失败:’+that.audioCtx.src)
})
//播放完成自动换下一曲
this.audioCtx.onEnded(function(){
that.next()
})
//自动更新播放进度
this.audioCtx.onPlay(function(){ })
this.audioCtx.onTimeUpdate(function(){
that.setData({
‘play.duration’: formatTime(that.audioCtx.duration),
‘play.currentTime’: formatTime(that.audioCtx.currentTime),
‘play.percent’: that.audioCtx.currentTime/that.audioCtx.duration*100
})
})
//默认选择第1曲
this.setMusic(0)
//格式化时间
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)
}
},
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://i-blog.csdnimg.cn/blog_migrate/7b75d688efa4819b6067fe97dd02dd2a.jpeg)
最后
上面这些公司都是时下最受欢迎的互联网大厂,他们的职级、薪资、福利也都讲的差不多了,相信大家都是有梦想和野心的人,心里多少应该都有些想法。
也相信很多人也都在为即将到来的金九银十做准备,也有不少人的目标都是这些公司。
我这边有不少朋友都在这些厂工作,其中也有很多人担任过面试官,上面的资料也差不多都是从朋友那边打探来的。除了上面的信息,我这边还有这些大厂近年来的面试真题及解析,以及一些朋友出于兴趣和热爱一起整理的Android时下热门知识点的学习资料。
部分文件:
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
g2.imgtp.com/2024/03/13/H4lCoPEF.jpg" />
最后
上面这些公司都是时下最受欢迎的互联网大厂,他们的职级、薪资、福利也都讲的差不多了,相信大家都是有梦想和野心的人,心里多少应该都有些想法。
也相信很多人也都在为即将到来的金九银十做准备,也有不少人的目标都是这些公司。
我这边有不少朋友都在这些厂工作,其中也有很多人担任过面试官,上面的资料也差不多都是从朋友那边打探来的。除了上面的信息,我这边还有这些大厂近年来的面试真题及解析,以及一些朋友出于兴趣和热爱一起整理的Android时下热门知识点的学习资料。
部分文件:
[外链图片转存中…(img-k39R5IxT-1711964235464)]
[外链图片转存中…(img-2VsRur80-1711964235464)]
[外链图片转存中…(img-XFO8eC6R-1711964235464)]