视频连线
This commit is contained in:
@@ -314,6 +314,27 @@ export function createMediaEngine({ roomCode, userId, sendWithAck, logger = defa
|
||||
return producer
|
||||
}
|
||||
|
||||
const tuneProducerEncoding = async (producerId, encodingPatch = {}) => {
|
||||
const producer = producers.get(producerId)
|
||||
const sender = producer && producer.rtpSender
|
||||
if (!sender || typeof sender.getParameters !== 'function' || typeof sender.setParameters !== 'function') {
|
||||
return false
|
||||
}
|
||||
try {
|
||||
const params = sender.getParameters() || {}
|
||||
params.encodings = Array.isArray(params.encodings) && params.encodings.length
|
||||
? params.encodings
|
||||
: [{}]
|
||||
params.encodings = params.encodings.map((encoding) => ({ ...encoding, ...encodingPatch }))
|
||||
await sender.setParameters(params)
|
||||
logger('info', '[MediaEngine] producer 编码参数已更新', { producerId, encodingPatch })
|
||||
return true
|
||||
} catch (e) {
|
||||
logger('warn', '[MediaEngine] producer 编码参数更新失败', e)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 订阅远端 Producer:请求后端创建 Consumer → 本地 consume → 等 track 挂好后 resume
|
||||
*
|
||||
@@ -480,6 +501,7 @@ export function createMediaEngine({ roomCode, userId, sendWithAck, logger = defa
|
||||
closeProducer,
|
||||
pauseProducer,
|
||||
resumeProducer,
|
||||
tuneProducerEncoding,
|
||||
closeConsumer,
|
||||
close,
|
||||
getDevice: () => device,
|
||||
|
||||
Reference in New Issue
Block a user