我需要一种播放 hls m3u8 播放列表的方法,这些播放列表是在客户端浏览器中创建的,而不是使用外部文件。
我目前正在生成一个字符串并创建一个稍后使用对象 URL 链接的文件。
const playlistFile = new File([playlistString], playlistName, { type: 'application/x-mpegURL' });
const playlistURL = URL.createObjectURL(playlistFile);
Run Code Online (Sandbox Code Playgroud)
然后将此 URL 用作视频元素中的源。
<video playsinline="" controls="" src="blob:http://localhost:8080/b9a0b81f-d469-4004-9f6b-a577325e2cf3"></video>
Run Code Online (Sandbox Code Playgroud)
该系统在所有 iOS 10 版本和 OSX 上运行良好,但只要我在运行任何 iOS 11 版本的设备上运行它,我就会从视频元素中收到错误代码 4“MEDIA_ERR_SRC_NOT_SUPPORTED”。
我无法找到任何路径注释,说明任何可能表明为什么这在 iOS 11 中不起作用的变化。有没有其他方法可以解决这个问题,它适用于 iOS 10 和 11?
对此问题的任何帮助或见解都将受到赞赏。
编辑:我创建了一个 jsfiddle 来帮助理解这个问题。 https://jsfiddle.net/x2oa8nh2/8/
上面的视频适用于 iOS 10 和 11(以及 OSX Safari)。底部的一个不适用于 iOS 11。
我的侧面是2 * n的稀疏方阵。
例如。
1,0,0,1,0,1
0,1,1,1,0,1
1,0,0,0,1,1
0,0,1,1,0,0
1,1,1,0,0,0
0,0,0,1,1,0
Run Code Online (Sandbox Code Playgroud)
我需要一种有效的方法来找到大小为n * n且最大数量为1s的子矩阵。
我已经找到了各种方法来做到这一点,但是没有比O(n ^ 4)更快的方法。我还发现了更快的方法,而无需子矩阵需要为n * n。
编辑:子矩阵必须是连续的,