Skip to content

Commit 46e83a2

Browse files
authored
feat: adding optional support for auto playing and looping videos (microsoft#184758)
* feat: adding options to support videos looping and auto playing Signed-off-by: Fawzi Abdulfattah <[email protected]> * chore: adding on mute to the videos auto play setting's description Signed-off-by: Fawzi Abdulfattah <[email protected]> --------- Signed-off-by: Fawzi Abdulfattah <[email protected]>
1 parent 7c2d459 commit 46e83a2

File tree

4 files changed

+24
-0
lines changed

4 files changed

+24
-0
lines changed

extensions/media-preview/media/videoPreview.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@
3333
}
3434
video.playsInline = true;
3535
video.controls = true;
36+
video.autoplay = settings.autoplay;
37+
video.muted = settings.autoplay;
38+
video.loop = settings.loop;
3639

3740
function onLoaded() {
3841
if (hasLoadedMedia) {

extensions/media-preview/package.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,22 @@
2727
}
2828
},
2929
"contributes": {
30+
"configuration": {
31+
"type": "object",
32+
"title": "Media Previewer",
33+
"properties": {
34+
"previewer.videos.autoPlay": {
35+
"type": "boolean",
36+
"default": false,
37+
"markdownDescription": "%videoPreviewerAutoPlay%"
38+
},
39+
"previewer.videos.loop": {
40+
"type": "boolean",
41+
"default": false,
42+
"markdownDescription": "%videoPreviewerLoop%"
43+
}
44+
}
45+
},
3046
"customEditors": [
3147
{
3248
"viewType": "imagePreview.previewEditor",

extensions/media-preview/package.nls.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
"customEditor.audioPreview.displayName": "Audio Preview",
55
"customEditor.imagePreview.displayName": "Image Preview",
66
"customEditor.videoPreview.displayName": "Video Preview",
7+
"videoPreviewerAutoPlay": "Start playing videos on mute automatically.",
8+
"videoPreviewerLoop": "Loop videos over again automatically.",
79
"command.zoomIn": "Zoom in",
810
"command.zoomOut": "Zoom out",
911
"command.copyImage": "Copy"

extensions/media-preview/src/videoPreview.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,11 @@ class VideoPreview extends MediaPreview {
5454

5555
protected async getWebviewContents(): Promise<string> {
5656
const version = Date.now().toString();
57+
const configurations = vscode.workspace.getConfiguration('previewer.videos');
5758
const settings = {
5859
src: await this.getResourcePath(this.webviewEditor, this.resource, version),
60+
autoplay: configurations.get('autoPlay'),
61+
loop: configurations.get('loop'),
5962
};
6063

6164
const nonce = getNonce();

0 commit comments

Comments
 (0)