Javascript 无法在android中中止MJPEG“;互联网";应用程序,或android chrome

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),没有其他客户端无法与服务器通信。这可能

我有一个python/flask应用程序,它将mjpeg视频发送到一个元素。 它在流媒体方面工作得很好,但是我在中止视频时遇到了一个问题。要在我的手机(android)上中止视频,我必须单击指向其他页面的链接,否则流将继续

目前我正在用javascript控制流。将“src”设置为cam静态图像的url或视频流的url。 但是在src更改之间,我首先将其更改为“#”

使用flask时的一个问题是,当一个客户端接收到流时(使用generator和yield),没有其他客户端无法与服务器通信。这可能是问题的根源

因此,使用javascript,我使用以下代码控制流:

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;
}