forked from phaserjs/phaser
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVideo.js
More file actions
79 lines (68 loc) · 2.38 KB
/
Copy pathVideo.js
File metadata and controls
79 lines (68 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/**
* @author Richard Davey <rich@photonstorm.com>
* @copyright 2019 Photon Storm Ltd.
* @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License}
*/
/**
* Determines the video support of the browser running this Phaser Game instance.
* These values are read-only and populated during the boot sequence of the game.
* They are then referenced by internal game systems and are available for you to access
* via `this.sys.game.device.video` from within any Scene.
*
* @typedef {object} Phaser.Device.Video
* @since 3.0.0
*
* @property {boolean} h264Video - Can this device play h264 mp4 video files?
* @property {boolean} hlsVideo - Can this device play hls video files?
* @property {boolean} mp4Video - Can this device play h264 mp4 video files?
* @property {boolean} oggVideo - Can this device play ogg video files?
* @property {boolean} vp9Video - Can this device play vp9 video files?
* @property {boolean} webmVideo - Can this device play webm video files?
*/
var Video = {
h264Video: false,
hlsVideo: false,
mp4Video: false,
oggVideo: false,
vp9Video: false,
webmVideo: false
};
function init ()
{
var videoElement = document.createElement('video');
var result = !!videoElement.canPlayType;
try
{
if (result)
{
if (videoElement.canPlayType('video/ogg; codecs="theora"').replace(/^no$/, ''))
{
Video.oggVideo = true;
}
if (videoElement.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/, ''))
{
// Without QuickTime, this value will be `undefined`. github.com/Modernizr/Modernizr/issues/546
Video.h264Video = true;
Video.mp4Video = true;
}
if (videoElement.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/, ''))
{
Video.webmVideo = true;
}
if (videoElement.canPlayType('video/webm; codecs="vp9"').replace(/^no$/, ''))
{
Video.vp9Video = true;
}
if (videoElement.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/, ''))
{
Video.hlsVideo = true;
}
}
}
catch (e)
{
// Nothing to do
}
return Video;
}
module.exports = init();