我正在尝试编写一个新的简单扩展,它使用<video>. vscode似乎支持视频播放,因为我可以完美地观看YouTube视频。
但我不能让我自己的 mp4 工作。它根本不玩。
我怀疑这与跨源请求有关。但是我不知道如何在 vscode html 预览中调试网络请求。或者它可能完全不同。
中的代码extension.ts非常简单:
'use strict';
import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
let uri = vscode.Uri.parse('video-player://authority/play');
class TextDocumentContentProvider implements vscode.TextDocumentContentProvider {
private _onDidChange = new vscode.EventEmitter<vscode.Uri>();
public provideTextDocumentContent(uri: vscode.Uri): string {
return `
<video crossorigin="anonymous" controls src="https://example.com/video.mp4"></video>
`;
}
get onDidChange(): vscode.Event<vscode.Uri> {
return this._onDidChange.event;
}
public update(uri: vscode.Uri) {
this._onDidChange.fire(uri);
}
}
let provider = new TextDocumentContentProvider();
let registration = vscode.workspace.registerTextDocumentContentProvider('video-player', provider);
let disposable …Run Code Online (Sandbox Code Playgroud)