vue中播放音乐

第一种:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
	<div id="okk">
		<audio :src="currentSong" autoplay="" controls="" @ended="nextsong()">	</audio>
		<ul>
			<li v-for="(item,index) in songs" @click="clickHandle(index)">
				<h3>歌手:{{item.name}}====
				歌名:{{item.title}}</h3>
			</li>
		</ul>

	</div>

	<script>
		var songs=[
		{id:1,name:'杨烁 ',title:'走在乡间的小路上',src:'./audio/走在乡间的小路上.mp3'},
		{id:2,name:'杨丽',title:'笑看风云',src:'./audio/笑看风云.mp3'},
		{id:3,name:'金南玲',title:'逆流成河',src:'./audio/逆流成河.mp3'},
		{id:4,name:'齐秦',title:'狼',src:'./audio/狼.mp3'}
		]


		new Vue({
			el:'#okk',
			data:{
				songs:songs,
				currentSong:'./audio/走在乡间的小路上.mp3',
				currentIndex:0,
			},
			methods:{
				clickHandle:function (index) {
					console.log(this);
					// console.log(this.songs[index])
					this.currentSong = this.songs[index].src;
					this.currentIndex = index;  //参数为index时
					// this.currentSong = item.src;   //参数为item时
				},
				nextsong:function () {
					// alert(111);
					// alert(this.currentIndex);
					console.log(this.songs.length);
					console.log(this.currentIndex);
					if(this.currentIndex==this.songs.length-1){
						this.currentIndex=-1;
					}
					this.currentIndex++;
					console.log(this.currentIndex);
					this.currentSong = this.songs[this.currentIndex].src;

			}
		}

		})
	</script>
</body>
</html>

 第二种:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
</head>
<body>
	<div id="okk">
		<audio :src="currentSrc" autoplay="" controls="" @ended="nextsong()">	</audio>
		<ul>
			<li v-for="(item,index) in songs" @click="clickHandle(index)">
				<h3>歌手:{{item.name}}====
				歌名:{{item.title}}</h3>
			</li>
		</ul>

	</div>

	<script>
		var songs=[
		{id:1,name:'杨烁 ',title:'走在乡间的小路上',src:'./audio/走在乡间的小路上.mp3'},
		{id:2,name:'杨丽',title:'笑看风云',src:'./audio/笑看风云.mp3'},
		{id:3,name:'金南玲',title:'逆流成河',src:'./audio/逆流成河.mp3'},
		{id:4,name:'齐秦',title:'狼',src:'./audio/狼.mp3'}
		]


		new Vue({
			el:'#okk',
			data:{
				songs:songs,
				currentIndex:0,
			},
			methods:{
				clickHandle:function (index) {
					console.log(this);
					// console.log(this.songs[index])
					this.currentIndex=index;  //参数为index时
					// this.currentSong = item.src;   //参数为item时
				},
				nextsong:function () {
					// alert(111);
					// alert(this.currentIndex);
					console.log(this.songs.length);
					console.log(this.currentIndex);
					if(this.currentIndex==this.songs.length-1){
						this.currentIndex=-1;
					}
					this.currentIndex++;
					console.log(this.currentIndex);
					// this.currentSong = this.songs[this.currentIndex].src;

				}
			},
			computed:{
				// 计算数据属性,就是data里面的数据
				currentSrc(){
					return this.songs[this.currentIndex].src;
				}

			},
			created(){

			}
		})
	</script>
</body>
</html>

  

转载于:https://www.cnblogs.com/chvv/p/9683692.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值