Javascript 无法在android中中止MJPEG“;互联网";应用程序,或android chrome
我有一个python/flask应用程序,它将mjpeg视频发送到一个元素。 它在流媒体方面工作得很好,但是我在中止视频时遇到了一个问题。要在我的手机(android)上中止视频,我必须单击指向其他页面的链接,否则流将继续 目前我正在用javascript控制流。将“src”设置为cam静态图像的url或视频流的url。 但是在src更改之间,我首先将其更改为“#” 使用flask时的一个问题是,当一个客户端接收到流时(使用generator和yield),没有其他客户端无法与服务器通信。这可能是问题的根源 因此,使用javascript,我使用以下代码控制流:Javascript 无法在android中中止MJPEG“;互联网";应用程序,或android chrome,javascript,android,flask,mjpeg,Javascript,Android,Flask,Mjpeg,我有一个python/flask应用程序,它将mjpeg视频发送到一个元素。 它在流媒体方面工作得很好,但是我在中止视频时遇到了一个问题。要在我的手机(android)上中止视频,我必须单击指向其他页面的链接,否则流将继续 目前我正在用javascript控制流。将“src”设置为cam静态图像的url或视频流的url。 但是在src更改之间,我首先将其更改为“#” 使用flask时的一个问题是,当一个客户端接收到流时(使用generator和yield),没有其他客户端无法与服务器通信。这可能
if (streaming==false){
document.getElementById(img_id).src=C_vidsource;
streaming = true;
} else {
var currDate = new Date();
document.getElementById(img_id).src="#";
document.getElementById(img_id).src=C_statimage + "?" + currDate.getTime();
streaming = false;
}
我用一个简单的方法来控制它
我认为androids web浏览器与我在计算机上使用的浏览器不同。它似乎试图在更改页面上的任何内容之前下载内容。因此,它允许视频流继续,直到加载新图像。但在流停止之前,不会加载新映像
有办法解决这个问题吗
谢谢 在我发布问题后,我立即找到了解决方案 我在两个src更改之间添加了一个延迟。 之后: 我补充说
sleep(1000);
睡眠是我创建的一个函数(非常脏):
功能睡眠(毫秒){
停止时间=日期。现在()+ms;
while(Date.now()
我想,对于长时间睡眠来说,这不是一个好的解决办法,但它解决了我的问题,或者至少给了我一个关于搜索内容的提示
sleep(1000);
function sleep(ms){
stoptime = Date.now() + ms;
while(Date.now() < stoptime){ }
return;
}