【发布时间】:2013-06-26 22:26:23
【问题描述】:
我正在建立一个伴唱网站,用户可以在其中捕捉他们自己唱歌的视频以及 mp3。我已经到了可以访问相机并显示实时流的地步,但是如何保存视频以便用户可以下载并保留它?
我的代码:
<!DOCTYPE html>
<head>
<link href="css/bootstrap.css" rel="stylesheet"">
<style>
#container {
margin: 0px auto;
width: 500px;
height: 375px;
border: 10px #333 solid;
}
#videoElement {
width: 500px;
height: 375px;
background-color: #666;
}
</style>
</head>
<body>
<button class="btn" onclick="show();">Record!</button>
<div id="record" style="display:none; text-align:center;">
<div id="container">
<video autoplay="false" id="videoElement">
</video>
</div>
<button id="play" class="btn" onclick="play()">Start Recording!</button>
<audio id="song" style="hidden">
<source src="love.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
</div>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="js/bootstrap.js"></script>
<script>
var video = document.querySelector("#videoElement");
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia || navigator.oGetUserMedia;
if (navigator.getUserMedia) {
navigator.getUserMedia({video: true, audio: true}, handleVideo, videoError);
}
function handleVideo(stream) {
video.src = window.URL.createObjectURL(stream);
document.getElementById("videoElement").pause();
}
function videoError(e) {
alert("There was an error with the video stream.\nCheck that your webcam is connected.");
}
function play()
{
var video = document.getElementById("videoElement");
var music = document.getElementById("song");
var button = document.getElementById("play");
if (video.paused) {
video.play();
music.play();
button.textContent = "Stop Recording";
} else {
video.pause();
music.pause();
button.textContent = "Continue Recording";
}
}
function show()
{
document.getElementById("record").style.display="block";
}
</script>
</body>
handleVideo 中是否有一种方法可以让我在流来时保存它?
【问题讨论】:
-
我认为你可以通过 jquery 来实现。此处显示了一个演示 scriptcam.com/demo_2.cfm,源代码需要进一步的帮助。您可能想检查一次。
-
你尝试this解决方案了吗?
-
你应该试试this。这是一个非常好的教程/手册页,带有代码 sn-ps 和演示,希望对您有所帮助:)
-
一个新的 API MediaRecorder 已经被创建,目前仅在 FF 中支持。
-
这个网站听起来很棒!!!能给个链接吗?
标签: javascript html video-streaming getusermedia