uniapp 点击播放音乐(音频)

 uniapp通过uni.createInnerAudioContext()获取音频的信息

通过innerAudioContext.autoplay = true; //自动播放;

通过innerAudioContext.loop=true; //循环播放;

通过innerAudioContext.src=”音乐地址“ 

play()播放和pause()暂停

// 定义变量
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.loop=true; //循环播放
innerAudioContext.src ='https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-hello-uniapp/2cc220e0-c27a-11ea-9dfb-6da8e309e0d8.mp3';

// 调用方法
bjMusicClick:function(){
	if(this.musicShow){
	console.log('播放')
	const timout =  setTimeout(() => {
		learTimeout(timout)
		innerAudioContext.play()
	},500)
	}else{
		console.log('暂停')
		innerAudioContext.pause();
		}
	this.musicShow=!this.musicShow;
}

使用play() 播放方法时,加入定时器,可以变得相对于稳定的使用。

 完整代码如下:

<template>
	<view>
		<view class="audio border-left flex-row">
			<u-icon v-if="musicShow" name="play-circle-fill" size="30" color="#805b93" @click="bjMusicClick"></u-icon>
			<u-icon v-else name="pause-circle-fill" size="30" color="#805b93" @click="bjMusicClick"></u-icon>
			<text class="margin-left">{{duration}}"</text>
		</view>
	</view>
</template>

<script>
	const innerAudioContext = uni.createInnerAudioContext();
	innerAudioContext.autoplay = true; //自动播放
	innerAudioContext.loop=true; //循环播放
	innerAudioContext.src ='https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-hello-uniapp/2cc220e0-c27a-11ea-9dfb-6da8e309e0d8.mp3'; //音频地址
	export default {
	    data() {
	       return {
				duration:21,
				musicShow:true
		   }
	    },
	     onLoad(){
	        this.musicShow=false;
	    },
	    methods: {
			bjMusicClick:function(){
				if(this.musicShow){
					console.log('播放')
					const timout =  setTimeout(() => {
						clearTimeout(timout)
						innerAudioContext.play()
					},500)
				}else{
					console.log('暂停')
					innerAudioContext.pause();
				}
				this.musicShow=!this.musicShow;
			}
	    }   
	}
</script>


<style lang="scss" scoped>
.audio{
	width: 150rpx;
	height: 60rpx;
	background: rgba(0, 0, 0, 0.2);
	
	text{
		color: #fff;
	}
}
</style>


最终的实现效果

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值