-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathCanvasCaptureMediaStreamTrack.html
More file actions
46 lines (43 loc) · 6.63 KB
/
Copy pathCanvasCaptureMediaStreamTrack.html
File metadata and controls
46 lines (43 loc) · 6.63 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
<!DOCTYPE html><html><head><meta charset="utf-8"><title>CanvasCaptureMediaStreamTrack JavaScript API</title><meta name="description" content="Interactive API reference for the JavaScript CanvasCaptureMediaStreamTrack Object. Available through canvas.captureStream().getTracks()[0]."><link rel="stylesheet" type="text/css" href="styles.css"><script type="text/javascript">var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-23450559-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();</script></head><body><script>if (sessionStorage.collapsed === 'true') {
document.body.classList.add('members-collapsed');
}
if (localStorage.theme) {
document.body.parentElement.classList.add(localStorage.theme);
}</script><div class="topnav"><a href="/">JavaScripture</a><div class="bookmarks"><a class="bookmark contribute" href="https://github.com/nkronlage/JavaScripture">Contribute via GitHub</a> <a class="bookmark" href="/feedback">Feedback</a></div></div><div class="container"><nav class="leftnav"><div id="searchContainer"><input id="searchBox" type="text" placeholder="Search (Ctrl + S)" autocomplete="false"><div id="resultsBox" style="display:none;"></div></div><div id="apichooser"><a href="#" onclick="openApiChooser(); return false;"><div class="arrow"></div><span id="selectedsets"></span></a><div id="obscure"></div><div id="apisets"><ul></ul></div></div><div class="toc"><h2>CanvasCaptureMediaStreamTrack</h2><div class="navgroup"><div class="group collapsed"><a href="#InstanceProperties" onclick="expandoClicked(this.parentNode); return false;"><div class="arrow"></div>Instance Properties</a><div class="subgroup"><a href="#canvas">canvas</a></div></div><div class="group collapsed"><a href="#InstanceMethods" onclick="expandoClicked(this.parentNode); return false;"><div class="arrow"></div>Instance Methods</a><div class="subgroup"><a href="#requestFrame_">requestFrame</a></div></div></div><h2>Canvas API</h2><div id="related-apis" class="navgroup"></div><h2>All API</h2><div id="rootObjs" class="navgroup"><span class="empty">No API set selected.</span></div></div></nav><div class="content"><h1 class="declaration"><span class="object">CanvasCaptureMediaStreamTrack</span> <span class="type">: <a href="/MediaStreamTrack">MediaStreamTrack</a></span></h1><div class="metadata"></div><div class="objectdescription">Available through <code><a href="/HTMLCanvasElement#captureStream">canvas.captureStream()</a>.<a href="/MediaStream#getTracks">getTracks()</a>[0]</code>.<div class="membermetadata"><a href="https://w3c.github.io/mediacapture-fromelement/#dom-canvascapturemediastreamtrack" class="spec">Spec</a></div></div><div><a name="InstanceProperties"></a><h2>Instance Properties</h2><div class="member"><div class="expand-members" title="Toggle showing all descriptions and examples"></div><a name="canvas"></a><div class="declaration"><span class="membername primary">canvas</span> : <a class="membertype" href="/HTMLCanvasElement">HTMLCanvasElement</a> <span class="metadata">readonly</span></div><div class="member-body"><p class="description">The canvas the stream is captured from.</p><div class="htmlexample"><div class="codePanel"><h4>Example:</h4><textarea class="code" rows="19" cols="60" wrap="off">
<canvas></canvas>
<script>
const canvas = document.querySelector('canvas');
const stream = canvas.captureStream(0);
const track = stream.getTracks()[0];
console.log(track.canvas === canvas);
</script>
</textarea><a onclick='executeHTMLExample(this.parentNode.parentNode, "CanvasCaptureMediaStreamTrack.canvas"); return false' href="#" class="run">Run</a></div><div class="resultsPanel"><h4>Results:</h4><div style="position: relative"><div class="htmlerrormessage" style="display: none"></div><iframe class="output" width="350" height="200"></iframe><pre class="results"> </pre></div></div></div><p></p><div class="membermetadata"><a href="https://w3c.github.io/mediacapture-fromelement/#dom-canvascapturemediastreamtrack-canvas" class="spec">Spec</a></div></div></div></div><div><a name="InstanceMethods"></a><h2>Instance Methods</h2><div class="member"><div class="expand-members" title="Toggle showing all descriptions and examples"></div><a name="requestFrame"></a> <a name="requestFrame_"></a><div class="declaration"><span class="membername primary">requestFrame</span>() : <a class="membertype" href="/void">void</a></div><div class="member-body"><p class="description">Forces the video to update with the latest contents of the canvas. Use when providing a <code>requestedFrameRate</code> to <a href="/HTMLCanvasElement">canvas.captureStream()</a> to update the contents of the video manually.</p><div class="htmlexample"><div class="codePanel"><h4>Example:</h4><textarea class="code" rows="19" cols="60" wrap="off">
<canvas></canvas>
<button>requestFrame()</button>
<video autoplay></video>
<script>
const canvas = document.querySelector('canvas');
const context = canvas.getContext('2d');
let color = 0;
const draw = () => {
color = (color + 2) % 255;
context.fillStyle = `rgb(${color}, 0, 0)`;
context.fillRect(0, 0, 300, 150);
requestAnimationFrame(draw);
}
draw();
const video = document.querySelector('video');
const stream = canvas.captureStream(0);
video.srcObject = stream;
document.querySelector('button').onclick = e => {
stream.getTracks()[0].requestFrame();
};
</script>
</textarea><a onclick='executeHTMLExample(this.parentNode.parentNode, "CanvasCaptureMediaStreamTrack.requestFrame"); return false' href="#" class="run">Run</a></div><div class="resultsPanel"><h4>Results:</h4><div style="position: relative"><div class="htmlerrormessage" style="display: none"></div><iframe class="output" width="350" height="200"></iframe><pre class="results"> </pre></div></div></div><p></p><div class="membermetadata"><a href="https://w3c.github.io/mediacapture-fromelement/#dom-canvascapturemediastreamtrack-requestframe" class="spec">Spec</a></div></div></div></div><div class="bottomnav"><a href="/">home</a> <a href="/license">license</a> <a href="https://github.com/nkronlage/JavaScripture">contribute</a> <a href="/feedback">feedback</a> <a id="toggle-theme" href="#">toggle light/dark mode</a></div><div class="copyright">Copyright © JavaScripture Contributors</div></div></div></body><script src="javascripture.js"></script></html>