我在执行Redux中的"device.createRecvTransport“时,在mediasoup客户机中出现了一个错误(我知道这不是最佳实践,但没有选择)。
"device.createRecvTransport“实际上是一个包含webRTC RTCPeerConnection实例的抽象。当我调用它时,它会抛出这个错误。
TypeError: Cannot read property '_createTransport' of null at createRecvTransport
守则:
function* createRecvTransport(device: Device) {
const {
id,
iceParameters,
iceCandidates,
dtlsParameters,
sctpParameters
} = yield sendRequest({
action: 'createWebRtcTransport',
data: {
forceTcp: false,
producing: false,
consuming: true
}
});
const recvTransport: Transport = yield call(device.createRecvTransport, {
id,
iceParameters,
iceCandidates,
dtlsParameters,
sctpParameters,
iceServers: []
});
}该设备具有功能声明。
function* initDevice() {
const handlerName = detectDevice();
const device = new Device({
handlerName
});
const routerRtpCapabilities = yield sendRequest({
action: 'getRouterRtpCapabilities'
});
device.load({ routerRtpCapabilities });
}"device.createSendTransport“方法也有效,唯一的问题是创建接收传输。在媒体路由器中执行"router.createWebRtcTransport“方法,并在客户端执行"createRecvTransport”之前返回数据。
发布于 2021-06-23 08:07:48
似乎问题在于“屈服召唤”的表达。由于"device.createRecvTransport“不是异步函数(用允诺处理),所以不应该使用”产生调用“来执行它。
当我去掉“屈服呼叫”的时候,它就修好了。
https://stackoverflow.com/questions/67783354
复制相似问题