繁体   English   中英

WebRTC远程流视频readyState:音频工作时“静音”

[英]WebRTC remote-stream video readyState : “muted” while audio is working

一切都工作正常(createOffer,createAnswer,iceCandidates等),但是传入的remoteStream具有2条轨道,audioTrack在起作用,而videoTrack在readyState中不起作用:“静音”。

如果我在pageload上执行createOffer,然后使用相同的peerConnection再次执行crreateOffer,则视频也正确显示(但随后我将进入Firefox,“无法在州本地提供报价中创建报价”)。

任何想法可能是什么问题? (代码在这里显示太复杂了)

双方都可以播放本地视频吗?
->在PC中,只有一个浏览器可以随时访问chrome / firefox)
->尝试在两台不同的机器或chrome-to-chrome或firefox-firefox之间调用。

“无法在州本地报价中创建报价”
这意味着您已经创建了要约,并尝试再次创建而不设置远程答案。

再次调用createOffer不是一个好主意。 确保以以下方式(同步)创建商品。

  • 收到流gUM回调后,然后将其添加为peerConnection。
  • 在添加流之后,然后创建要约,如果答案是远程的要约,则在创建答案之前也要创建该要约。

在iOS应用上准备MediaStream时遇到了这个问题。 事实证明,我没有通过正确的RTCMediaConstraints

切换并使用[RTCMediaConstraints defaultConstraints]后,问题得以解决。

例如:

- (RTCVideoTrack *)createLocalVideoTrack {
    RTCVideoTrack* localVideoTrack = nil;

    RTCMediaConstraints *mediaConstraints = [RTCMediaConstraints defaultConstraints];
    RTCAVFoundationVideoSource *source =
    [[self peerConnectionFactory] avFoundationVideoSourceWithConstraints:mediaConstraints];
    localVideoTrack =
    [[self peerConnectionFactory] videoTrackWithSource:source
                           trackId:kARDVideoTrackId];
    return localVideoTrack;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM