mp3音乐apc28下pc28漏洞打法技巧载pp界面js设计模板
适用于任意音乐APP。 这是一款音乐js代码,点击按钮可实现音乐的播放,musicpc28下载<pc28漏洞打法技巧/strong>-app-vue-js,音乐app界面设计模板,100%响应,功能模块齐全,<pc28漏洞打法技巧strong>pc28下载音乐app视图JS(带声音) ---在线演示// JavaScript Time!var app = new Vue({ el: "#app", data: { audio: "", imgLoaded: false, currentlyPlaying: false, currentlyStopped: false, currentTime: 0, checkingCurrentPositionInTrack: "", trackDuration: 0, currentProgressBar: 0, isPlaylistActive: false, currentSong: 0, debug: false, musicPlaylist: [ { title: "andy", artist: "阿杜", url: "http://img.bokequ.com/music/andy.mp3", image: "http://www.bokequ.com/show/yinyue/2/images/andy.jpg" }, { title: "留什么给你", artist: "孙楠", url: "http://img.bokequ.com/music/geini.mp3", image: "http://www.bokequ.com/show/yinyue/2/images/3.jpg" }, { title: "在他乡", artist: "水年木华", url: "http://img.bokequ.com/music/zaitaxiang.mp3", image: "https://img4.kuwo.cn/star/albumcover/120/93/5/2858315927.jpg" }, { title: "黄梅戏", artist: "慕容晓晓", url: "http://www.bokequ.com/show/yinyue/3/audio/huangmeixi.mp3", image: "http://www.bokequ.com/show/yinyue/2/images/huangmeixi.jpg" }], audioFile: "" }, mounted: function () { this.changeSong(); this.audio.loop = false; }, filters: { fancyTimeFormat: function (s) { return (s - (s %= 60)) / 60 + (9 < s ? ":" : ":0") + s; } }, methods: { togglePlaylist: function () { this.isPlaylistActive = !this.isPlaylistActive; }, nextSong: function () { if (this.currentSong < this.musicPlaylist.length - 1) this.changeSong(this.currentSong + 1); }, prevSong: function () { if (this.currentSong > 0) this.changeSong(this.currentSong - 1); }, changeSong: function (index) { var wasPlaying = this.currentlyPlaying; this.imageLoaded = false; if (index !== undefined) { this.stopAudio(); this.currentSong = index; } this.audioFile = this.musicPlaylist[this.currentSong].url; this.audio = new Audio(this.audioFile); var localThis = this; this.audio.addEventListener("loadedmetadata", function () { localThis.trackDuration = Math.round(this.duration); }); this.audio.addEventListener("ended", this.handleEnded); if (wasPlaying) { this.playAudio(); } }, isCurrentSong: function (index) { if (this.currentSong == index) { return true; } return false; }, getCurrentSong: function (currentSong) { return this.musicPlaylist[currentSong].url; }, playAudio: function () { if ( this.currentlyStopped == true && this.currentSong + 1 == this.musicPlaylist.length) { this.currentSong = 0; this.changeSong(); } if (!this.currentlyPlaying) { this.getCurrentTimeEverySecond(true); this.currentlyPlaying = true; this.audio.play(); } else { this.stopAudio(); } this.currentlyStopped = false; }, stopAudio: function () { this.audio.pause(); this.currentlyPlaying = false; this.pausedMusic(); }, handleEnded: function () { if (this.currentSong + 1 == this.musicPlaylist.length) { this.stopAudio(); this.currentlyPlaying = false; this.currentlyStopped = true; } else { this.currentlyPlaying = false; this.currentSong++; this.changeSong(); this.playAudio(); } }, onImageLoaded: function () { this.imgLoaded = true; }, getCurrentTimeEverySecond: function (startStop) { var localThis = this; this.checkingCurrentPositionInTrack = setTimeout( function () { localThis.currentTime = localThis.audio.currentTime; localThis.currentProgressBar = localThis.audio.currentTime / localThis.trackDuration * 100; localThis.getCurrentTimeEverySecond(true); }.bind(this), 1000); }, pausedMusic: function () { clearTimeout(this.checkingCurrentPositionInTrack); }, toggleDebug: function () { this.debug = !this.debug; document.body.classList.toggle('debug'); } }, watch: { currentTime: function () { this.currentTime = Math.round(this.currentTime); } }, beforeDestroy: function () { this.audio.removeEventListener("ended", this.handleEnded); this.audio.removeEventListener("loadedmetadata", this.handleEnded); clearTimeout(this.checkingCurrentPositionInTrack); } });
- 最近发表
- 随机阅读
-
- boke字母拼音是什么意思?
- 生态环境部发布《2024中国生态环境状况公报》
- 鼠标经过文字显示隐藏图片css样式
- dedecms模板源码程序安装常见问题
- UNI Slumps 17% Following SEC Developments, BTC, ETH, DOGE, TON on the Rise (Market Watch)
- 35dir网站分类目录导航源码(经典彩色版)
- 帝国CMS内容链接百度主动推送插件BDPush ProV1.1
- 小米户外摄像头大升级:500万像素3K画质,高清看得见,199元带回家
- 松下杭州新公司:家居科技巨擘揭秘10亿日元投资,智能家居新时代即将来临
- WordPress博客网站.htaccess文件的作用
- WordPress文章图片URL链接地址批量替换
- 分类目录缩略图自动截图/生成api有哪些
- WordPress网站提交搜索引擎插件IndexNow
- Excel表格批量提取文字上的超链接
- 宝塔Linux面板地址/用户名密码忘记找回方法
- 帝国CMS内容链接百度主动推送插件BDPush ProV1.1
- WordPress博客网站301重定向的两种方法
- wordpress响应式瀑布流博客主题snow
- 石头P20 Pro 上下水版,18500pa吸力再降2248元,真实力更实惠
- 通过PhpMyAdmin找回wordpress登录密码
- 搜索
-
- 友情链接
-