uni-app解决createInnerAudioContext()在IOS下不能静音播放的问题

问题描述

在使用createInnerAudioContext() 创建一个播放后,真机环境测试IOS不可以在用户处于静音的情况下进行播放,安装手机则可以进行自动播放。尝试过将autoplay设置为true 以及obeyMuteSwitch 设置为false,但是都发现不行!可以将下面代码注释写着解决IOS无法播放音频问题直接copy到项目中使用。切记使用wx.setInnerAudioOption,uni-app中没有该方法。

解决代码

<script>
const innerAudioContext = uni.createInnerAudioContext();
...
onLoad() {
	this.playViow(url);
},
methods: {
	playViow(url) {
			if (url) {
				if (this.lastRecord == url && !innerAudioContext.paused) {
					innerAudioContext.stop();  // 停止
					return;
				}
				this.lastRecord = url; 			// 将路径赋值给定义的变量好做判断
				innerAudioContext.src = url;  	// 配置音频播放路径
				innerAudioContext.play();		// 播放
				innerAudioContext.loop = true	// 是否循环播放
				innerAudioContext.autoplay = true   
				innerAudioContext.volume = 0.3
				innerAudioContext.obeyMuteSwitch = false
			}
			
			// 解决IOS无法播放音频问题
			var music = wx.setInnerAudioOption({
			  obeyMuteSwitch: false,
			  success: function (res) {
				console.log("开启静音模式下播放音乐的功能");
			  },
			  fail: function (err) {
				console.log("静音设置失败");
			  },
			});
		},
}
...

</script>
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值