当前位置: 首页 > news >正文

网站没有设置关键词滁州市城市建设投资有限公司网站

网站没有设置关键词,滁州市城市建设投资有限公司网站,西安装修公司哪家口碑最好,信息流广告二级代理微信小程序实现一个音乐播放器的功能 要求代码实现wxml 文件wxss 文件js文件 解析 要求 1.页面包含一个音乐列表#xff0c;点击列表中的音乐可以播放对应的音乐。 2.播放中的音乐在列表中有标识#xff0c;并且可以暂停或继续播放。 3.显示当前音乐的播放进度和总时长#… 微信小程序实现一个音乐播放器的功能 要求代码实现wxml 文件wxss 文件js文件 解析 要求 1.页面包含一个音乐列表点击列表中的音乐可以播放对应的音乐。 2.播放中的音乐在列表中有标识并且可以暂停或继续播放。 3.显示当前音乐的播放进度和总时长并可以拖动进度条调整播放进度。 4.点击切换按钮可以切换到下一首音乐。 5.点击循环按钮可以切换音乐的播放模式单曲循环、列表循环、随机播放。 代码实现 wxml 文件 view classcontainerscroll-view scroll-y classmusic-listview wx:for{{ musicList }} wx:key{{ index }} classmusic-item bindtaponMusicTap data-index{{ index }}view classmusic-name{{ item.name }}/viewview classmusic-artist{{ item.artist }}/view/view/scroll-viewaudio idaudio src{{ currentMusic.src }} bindtimeupdateonTimeUpdate bindendedonEnded/audioview classplayerview classcontrolsbutton classcontrol-btn bindtaponPrev上一首/buttonbutton classcontrol-btn bindtaponPlayOrPause{{ playing ? 暂停 : 播放 }}/buttonbutton classcontrol-btn bindtaponNext下一首/buttonbutton classcontrol-btn bindtaponChangeMode模式/button/viewview classprogresstext{{ currentTime }}/textslider max{{ duration }} value{{ currentPosition }} bindchangeonSliderChange /text{{ durationStr }}/text/view/view /view wxss 文件 .container {padding: 20rpx; }.music-list {height: 300rpx; }.music-item {padding: 10rpx;border-bottom: 1rpx solid #eee;text-align: left; }.player {margin-top: 20rpx;display: flex;flex-direction: column;align-items: center; }.controls {display: flex;justify-content: space-around;width: 100%;margin-bottom: 10rpx; }.control-btn {background-color: #009688;color: #fff;padding: 10rpx 20rpx;border-radius: 4rpx; }progress {display: flex;align-items: center; }.slider {flex: 1;margin: 0 10rpx; }js文件 Page({data: {musicList: [{ name: 歌曲1, artist: 歌手1, src: music1.mp3 },{ name: 歌曲2, artist: 歌手2, src: music2.mp3 },// 更多音乐...],currentMusic: {},playing: false,duration: 0,currentPosition: 0,currentTime: 00:00,durationStr: 00:00,playMode: 0, // 0: 列表循环1: 单曲循环2: 随机播放},onMusicTap(e) {const index e.currentTarget.dataset.index;const music this.data.musicList[index];this.setData({currentMusic: music,playing: true,});this.playMusic();},onPlayOrPause() {if (this.data.playing) {this.pauseMusic();} else {this.playMusic();}},playMusic() {const audio this.selectComponent(#audio);audio.play();this.setData({playing: true,});},pauseMusic() {const audio this.selectComponent(#audio);audio.pause();this.setData({playing: false,});},onPrev() {let currentIndex this.data.musicList.findIndex(item item.src this.data.currentMusic.src);if (currentIndex 0) {currentIndex this.data.musicList.length - 1;} else {currentIndex--;}const music this.data.musicList[currentIndex];this.setData({currentMusic: music,playing: true,});this.playMusic();},onNext() {let currentIndex this.data.musicList.findIndex(item item.src this.data.currentMusic.src);if (currentIndex this.data.musicList.length - 1) {currentIndex 0;} else {currentIndex;}const music this.data.musicList[currentIndex];this.setData({currentMusic: music,playing: true,});this.playMusic();},onTimeUpdate(e) {const duration e.detail.duration;const currentPosition e.detail.currentTime;const currentTime this.formatTime(currentPosition);const durationStr this.formatTime(duration);this.setData({duration: duration,currentPosition: currentPosition,currentTime: currentTime,durationStr: durationStr,});},onEnded() {if (this.data.playMode 1) {// 单曲循环const audio this.selectComponent(#audio);audio.seek(0);audio.play();} else {this.onNext();}},onSliderChange(e) {const value e.detail.value;const audio this.selectComponent(#audio);audio.seek(value);},onChangeMode() {let playMode this.data.playMode;playMode (playMode 1) % 3;this.setData({playMode: playMode,});},formatTime(time) {const minutes Math.floor(time / 60);const seconds Math.floor(time % 60);const minuteStr minutes 10 ? 0 minutes : minutes;const secondStr seconds 10 ? 0 seconds : seconds;return minuteStr : secondStr;}, }); 解析 其中onPrev() 和 onNext() 函数实现了切换到上一首和下一首音乐的逻辑。通过 findIndex() 函数找到当前音乐在列表中的位置然后根据播放模式计算出下一首或上一首音乐的位置更新当前音乐并播放。 onTimeUpdate() 函数实现了更新播放进度的逻辑通过 detail 参数获取音频的总时长和当前播放进度并格式化成 00:00 的形式更新页面数据。 onEnded() 函数实现了音乐播放结束的逻辑根据当前的播放模式决定是单曲循环还是切换到下一首音乐。 onSliderChange() 函数实现了调整播放进度的逻辑通过 seek() 函数跳转到指定的时间点。 onChangeMode() 函数实现了切换播放模式的逻辑通过取余操作循环切换三种播放模式。 到这里也就结束了希望对您有所帮助。
http://www.pierceye.com/news/410820/

相关文章:

  • 南昌企业网站模板建站济南好的seo
  • 食品建设网站公司简介模板免费下载
  • 重庆网站推广运营公司非常酷的wordpress主题
  • 网站未备案被阻断怎么做中国大数据公司排名10强
  • 柳市网站优化茶叶怎么做网站销售
  • 燕郊网站建设公司什么叫动漫设计与制作
  • 瑞安做网站的公司专门做2次元图片的网站
  • 为什么自己做的网站老是404错误个人建设网站流程
  • 柳州网站建设找哪家好沈阳线上教学
  • 外贸网站免费建设做暖暖视频网站大全
  • 做机票在线预订网站手机版传奇发布网站
  • 网站建设 深圳 凡科站内推广
  • 南宁做网站外包公众号二次开发
  • 中国做网站最好的公司郑州网站建设目标
  • 各大网站平台发布信息企业官网模板免费源码
  • 第一次做网站怎么样下手威联通如何做网站
  • 网站有哪几种类型郑州建设信息网可以领证书吗
  • wordpress 百度网盘网站semseo先做哪个
  • 中企动力网站策划小程序开发平台软件
  • 做网站的公司创业泉州网页设计制作
  • 做网站一定要服务器吗做响应式网站
  • 做网站建设涉及哪些算法呼和浩特网站建设电话
  • 网站流量统计 设计做seo需要会网站开发吗
  • 网站前台用什么开发襄阳谷城网站建设
  • 网站icp备案号怎么查北京 网站建设 SEO
  • 西安做网站哪里好wordpress用户前端化
  • 宁波网站优化如何免费加速器
  • 一佰互联自助建站网站公司建设网站价格
  • 外贸网站模板免费下载wordpress英文显示改中文字体
  • 长春电商网站建设公司电话微博内容放到wordpress