直播:转发音频、观众 recv audio、全屏与开声音按钮、后台采集麦克风

Made-with: Cursor
This commit is contained in:
whm
2026-03-26 09:55:27 +08:00
parent 2295410e1b
commit 6b3210f714
5 changed files with 86 additions and 16 deletions

View File

@@ -21,7 +21,7 @@ function humanizeGetUserMediaError(err) {
const name = err && err.name
const raw = ((err && err.message) || '').toLowerCase()
if (name === 'NotAllowedError' || name === 'PermissionDeniedError') {
return '已拒绝摄像头权限:在浏览器地址栏左侧允许摄像头,并确认本页为 HTTPS。'
return '已拒绝摄像头或麦克风权限:在浏览器地址栏左侧允许摄像头与麦克风,并确认本页为 HTTPS。'
}
if (name === 'NotFoundError' || name === 'DevicesNotFoundError') {
return '未检测到摄像头,请检查是否已接入设备或被系统禁用。'
@@ -75,7 +75,7 @@ export function startPublishing(opts = {}) {
onStatus('信令已连接,正在采集摄像头…')
try {
// 后台多为 PC不要用 facingMode:'user',部分机器会直接导致 “Could not start video source”
stream = await navigator.mediaDevices.getUserMedia({ video: true, audio: false })
stream = await navigator.mediaDevices.getUserMedia({ video: true, audio: true })
onLocalStream(stream)
stream.getTracks().forEach((t) => pc.addTrack(t, stream))
const offer = await pc.createOffer()