概述
webrtc简单案例——音视频采集和播放
目录
- 打开摄像头并将画面显示到页面
- 打开麦克风并在页面播放捕获的声音
- 同时打开摄像头和麦克风,并在页面显示画面和播放捕获的声音
1. 打开摄像头并将画面显示到页面
- html代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<video id="local-video" autoplay playsinline></video>
<button id="showVideo">打开摄像头</button>
<p>通过getUserMedia()获取视频</p>
</body>
<script>
const constraints = {
audio: false,
video: true
}
// 处理打开摄像头成功
function handleSuccess(stream) {
const video = document.querySelector("#local-video");
video.srcObject = stream;
}
// 异常处理
function handleError(error) {
console.error("getUserMedia error: " + error)
}
function onOpenCamera(e) {
navigator.mediaDevices.getUserMedia(constraints).then(handleSuccess).catch(handleError);
}
document.querySelector("#showVideo").addEventListener("click", onOpenCamera)
</script>
</html>
- 结果展示:
2. 打开麦克风并在页面播放捕获的声音
- html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<audio id="local-audio" autoplay controls>播放麦克风捕获的声音</audio>
<button id="playAudio">打开麦克风</button>
<p>通过getUserMedia()获取音频</p>
</body>
<script>
const constraints = {
audio: true,
video: false
}
// 处理打开麦克风成功
function handleSuccess(stream) {
const audio = document.querySelector("#local-audio");
audio.srcObject = stream;
}
// 异常处理
function handleError(error) {
console.error("getUserMedia error: " + error)
}
function onOpenMicrophone(e) {
navigator.mediaDevices.getUserMedia(constraints).then(handleSuccess).catch(handleError);
}
document.querySelector("#playAudio").addEventListener("click", onOpenMicrophone)
</script>
</html>
- 效果展示:
3. 同时打开摄像头和麦克风,并在页面显示画面和播放捕获的声音
- html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<video id="local-video" autoplay playsinline></video>
<button id="showVideo">打开音视频</button>
<p>通过getUserMedia()获取音视频</p>
</body>
<script>
const constraints = {
audio: true,
video: {width: 640, height: 480}
}
// 处理打开摄像头成功
function handleSuccess(stream) {
const video = document.querySelector("#local-video");
video.srcObject = stream;
}
// 异常处理
function handleError(error) {
console.error("getUserMedia error: " + error)
}
function onOpenAV(e) {
navigator.mediaDevices.getUserMedia(constraints).then(handleSuccess).catch(handleError);
}
document.querySelector("#showVideo").addEventListener("click", onOpenAV)
</script>
</html>
- 效果展示如前两个示例
最后
以上就是阳光裙子为你收集整理的webrtc简单案例——音视频采集和播放webrtc简单案例——音视频采集和播放的全部内容,希望文章能够帮你解决webrtc简单案例——音视频采集和播放webrtc简单案例——音视频采集和播放所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复