解决微信小程序 uni.createInnerAudioContext() 语音播放没有声音

问题描述:

uni.createInnerAudioContext() 创建的语音消息,在部分 ios 机型上播放没有声音

问题分析:

该手机开启了静音模式

问题解决:

对此问题,微信提供了如下解决方式,从 2.3.0 版本开始支持

canIUseWxAudio() {
    
    
	const version = wx.getSystemInfoSync().SDKVersion;
	if (this.compareVersion(version, '2.3.0') >= 0) {
    
    
		wx.setInnerAudioOption({
    
    
			obeyMuteSwitch: false
		})
	} else {
    
    
		wx.showModal({
    
    
			title: '提示',
			content: '当前微信版本过低,手机开启静音模式下可能会导致播放音频失败。'
		})
	}
},

/**
* 比较wx SDKVersion
* @param {String} v1 版本字符串
* @param {String} v2 版本字符串
* @returns {Number} v1>v2,返回1;v1<v2,返回-1;v1==v2,返回0
*/
compareVersion(v1, v2) {
    
    
	v1 = v1.split('.');
	v2 = v2.split('.');
	const len = Math.max(v1.length, v2.length);
	while (v1.length < len) {
    
    
		v1.push('0');
	}
	while (v2.length < len) {
    
    
		v2.push('0');
	}
	for (let i = 0; i < len; i++) {
    
    
		const num1 = parseInt(v1[i]);
		const num2 = parseInt(v2[i]);
		if (num1 > num2) {
    
    
			return 1;
		}
		if (num1 < num2) {
    
    
			return -1;
		}
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/xiamoziqian/article/details/125407569