webrtc实现p2p点对点文字聊天音视频通话大文件传输示例代码
代码语言:html
所属分类:其他
代码描述:webrtc实现p2p点对点文字聊天音视频通话大文件传输示例代码,通过分享链接或者扫码二维码就能将2人建立p2p的专属通道,可进行音视频聊天、文字聊天、视频通话、大文件传输。
代码标签: webrtc p2p 点对点 文字 聊天 音视频 通话 大文件 传输 示例 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>WebRTC 多功能通信室</title> <!-- Scaledrone 信令服务 --> <script type='text/javascript' src='https://cdn.scaledrone.com/scaledrone.min.js'></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/qrcode.js"></script> <style> :root { --primary-color: #2962ff; --secondary-color: #5f6b7c; --background-color: #0b1020; --surface-color: #11162a; --text-color: #e9edf5; --muted-color: #9aa3b2; --border-color: rgba(255,255,255,0.08); --success-color: #22c55e; --error-color: #f43f5e; --info-color: #38bdf8; --shadow-1: 0 10px 30px rgba(0,0,0,0.35); --radius: 14px; } * { box-sizing: border-box; } html, body { height: 100%; } body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft Yahei", sans-serif; background: radial-gradient(1200px 700px at 30% 10%, #1b244a 0%, #0b1020 60%); color: var(--text-color); display: flex; height: 100vh; overflow: hidden; } .app-container { display: flex; flex-direction: row; width: 100%; height: 100%; gap: 16px; padding: 16px; } /* 视频区域 */ .video-area { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; align-items: stretch; padding: 16px; background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); border: 1px solid var(--border-color); border-radius: var(--radius); box-shadow: var(--shadow-1); position: relative; overflow: hidden; } .video-area::before { content: ""; position: absolute; inset: -20%; background: radial-gradient(600px 300px at 85% 85%, rgba(41,98,255,0.12), transparent 60%), radial-gradient(600px 300px at 20% 20%, rgba(56,189,248,0.12), transparent 60%); pointer-events: none; } .video-header { display: flex; align-items: center; justify-content: space-between; padding: 8px 4px 14px; color: var(--muted-color); font-size: 13px; } .video-container { position: relative; min-height: 280px; } video { border-radius: 12px; background-color: #000; box-shadow: 0 10px 28px rgba(0,0,0,0.35); width: 100%; height: 100%; object-fit: cover; border: 1px solid rgba(255,255,255,0.06); } #localVideo { position: absolute; right:0; top:0; width:168px; height: 100px; outline: 1px solid rgba(41,98,255,0.35); } #remoteVideo { outline: 1px solid rgba(154,163,178,0.25); } /* 控制条 */ .controls { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); background: rgba(17, 22, 42, 0.6); backdrop-filter: blur(10px); padding: 10px 14px; border-radius: 50px; display: flex; gap: 12px; z-index: 10; border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 8px 24px rgba(0,0,0,0.3); } .control-btn { background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02)); border: 1px solid rgba(255,255,255,0.12); color: #fff; font-size: 20px; cursor: pointer; padding: 10px; border-radius: 50%; transition: all 0.2s ease; width: 44px; height: 44px; display: grid; place-items:center; } .control-btn:hover { transform: translateY(-1px); ba.........完整代码请登录后点击上方下载按钮下载查看
网友评论0