小程序退出后音乐还会播放解决方法

该博客讨论了在iOS环境下小程序关闭后视频仍继续播放的常见问题,并提供了一个利用浏览器的`visibilitychange`事件来解决此问题的代码示例。通过监听页面可见性状态,实现后台时暂停视频播放,重新进入时恢复播放的功能。
摘要由CSDN通过智能技术生成
<script>
var hidden = "hidden";
  
	//各个浏览器属性兼容
	if (hidden in document)
		document.addEventListener("visibilitychange", onchange);
	else if ((hidden = "mozHidden") in document)
		document.addEventListener("mozvisibilitychange", onchange);
	else if ((hidden = "webkitHidden") in document)
		document.addEventListener("webkitvisibilitychange", onchange);
	else if ((hidden = "msHidden") in document)
		document.addEventListener("msvisibilitychange", onchange);

	else if ("onfocusin" in document)
		document.onfocusin = document.onfocusout = onchange;

	else
		window.onpageshow = window.onpagehide = window.onfocus = window.onblur = onchange;
		
		function onchange(evt) {
                        if (document[hidden]) {
                            $('#audio').removeClass('play');
                            document.getElementById("bgm").pause();
//                            document.title = "false";
                        } else {
//                            alert('显示');
                            setTimeout(function () {
                                $('#audio').addClass('play');
                                document.getElementById("bgm").play();
//                                document.title = "true";
                            },100);
                        }
	}
</script>

我也遇到了这个问题,ios下关闭小程序还会继续播放视频(其实你下滑状态栏可以看到有视频播放,不关闭会一直播放的),最后用了浏览器的visibilitychange 解决了(后台时暂停播放),具体代码如下。

var hiddenProperty ='hidden' in document ?'hidden' :
    'webkitHidden' in document ?'webkitHidden' :
    'mozHidden' in document ?'mozHidden' :
     null;



if (hiddenProperty) {
    var visibilityChangeEvent = hiddenProperty.replace(/hidden/i,'visibilitychange');

    var onVisibilityChange =function() {

    if (document[hiddenProperty]) {

        !MpMovie.video.paused && MpMovie.video.pause();

    }

};

document.addEventListener(visibilityChangeEvent, onVisibilityChange);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值