小编Baa*_*art的帖子

Javascript视频blob和渐进式下载

尝试将我的视频流式Web应用程序从使用<video src="http://myserver/video.mp4">带URL的经典转换为blob,以避免在页面上的简单Ctrl + s上完全下载.

似乎必须使用XMLHttpRequest来允许从远程视频文件创建blob.

问题是XMLHttpRequest下载整个文件,这不适用于渐进式下载使用.

以下代码是从远程文件加载blob的最简单示例.

var r = new XMLHttpRequest();
r.onload = function() // Triggered only when all video is downloaded
{
    video.prop("src", URL.createObjectURL(r.response));
};

r.open("GET", "http://myserver/video.mp4");
r.responseType = "blob";
r.send();
Run Code Online (Sandbox Code Playgroud)

由于应用程序用于视频流,因此该方法不可用(除非我们希望用户等待X分钟以下载整个文件,而根本不是流式传输).

有没有办法将blob与渐进式下载结合起来?

javascript video blob html5-video

7
推荐指数
1
解决办法
3554
查看次数

Svelte商店功能更新

Svelte 存储文档显示正在更新字符串或整数,但我没有在存储中找到任何动态函数。

我不明白如何使该getData函数可写,以便通知 html 更改。

在下面的示例中,我希望在调用函数b后显示。updateKey

您可以在此处找到 REPL 中的最小代码:https://svelte.dev/repl/3c86bd48d5b5428daee514765c926e58 ?version=3.29.7

此处使用相同的代码,以防 REPL 宕机:

应用程序.svelte:

<script>
import { getData } from './store.js';
import { updateKey } from './store.js';
setTimeout(updateKey, 1000);
</script>

<h1>{getData()}!</h1>
Run Code Online (Sandbox Code Playgroud)

商店.js

import {setContext} from 'svelte';
import {writable} from 'svelte/store';

var data = {
    'a': 'a',
    'b': 'b'
};

var key = 'a';

export const getData = function() {
    return data[key];
}

export const updateKey = () => {
    key = 'b';
}
Run Code Online (Sandbox Code Playgroud)

目标是在商店中使用动态功能。

javascript svelte svelte-store svelte-3

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×2

blob ×1

html5-video ×1

svelte ×1

svelte-3 ×1

svelte-store ×1

video ×1