Created
February 20, 2018 07:26
-
-
Save goofmint/e1c96b48b3d02f7faa9133d3a67daed2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 開始ボタンを押した時の処理 | |
startButton.addEventListener("click", function() { | |
// Webカメラにアクセス | |
navigator.mediaDevices.getUserMedia({ | |
video: true, | |
audio: true | |
}).then(stream => { | |
// アクセスが許可された場合 | |
preview.srcObject = stream; // プレビューにWebカメラの映像を表示 | |
downloadButton.href = stream; // ダウンロードボタンにも配置 | |
// 表示内容をキャプチャする | |
preview.captureStream = preview.captureStream || preview.mozCaptureStream; | |
// プレビューが表示開始するタイミングをPromiseで取得 | |
return new Promise(resolve => preview.onplaying = resolve); | |
}) | |
// 表示が開始したらレコーディングを開始 | |
.then(() => startRecording(preview.captureStream(), recordingTimeMS)) | |
// レコーディングが終了時の処理 | |
.then (recordedChunks => { | |
let recordedBlob = new Blob(recordedChunks, { type: "video/webm" }); | |
recording.src = URL.createObjectURL(recordedBlob); | |
downloadButton.href = recording.src; | |
downloadButton.download = "RecordedVideo.webm"; | |
}) | |
.catch((err) => console.log(err)); | |
}, false); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment