实时音视频

  • 实时音视频 > API 文档 > Linux >QNRTCClient

    QNRTCClient

    最近更新时间:2022-03-28 17:57:26

    RTC 核心类,包含加入房间,离开房间,订阅、发布 Track,获取统计信息等功能
    Index
    Core Methods
    Core Methods
    SetClientRole
    SetAutoSubscribe
    • virtual void SetAutoSubscribe(bool auto_subscribe) = 0
    • 设置是否启用自动订阅

      当开启此选项后,房间内有任意用户新发布 Track 的时候,会自动订阅此路 Track,订阅成功后,会触发 QNClientEventListener.OnSubscribed 回调

      Parameters
      • auto_subscribe: bool

        是否自动订阅

    Join
    Leave
    GetConnectionState
    • virtual QNConnectionState GetConnectionState() = 0
    • 获取当前房间连接状态

    Publish
    • virtual void Publish(LocalTrackList& track_list, QNPublishResultCallback* listener) = 0
    • 发布本地媒体流,结果通过 QNPublishResultCallback 接口通知

      Parameters
    UnPublish
    • virtual void UnPublish(LocalTrackList& track_list) = 0
    • 取消发布本地媒体列表

      Parameters
      • track_list: std::list<QNLocalTrack*>

        要取消发布的本地 Track 列表

    Subscribe
    • virtual void Subscribe(const RemoteTrackList& track_list) = 0
    • 订阅远端 Track 列表,订阅成功后,会触发 QNClientEventListener.OnSubscribed 回调

      Parameters
      • track_list: std::list<shared_ptr<QNRemoteTrack>>

        要订阅的远端 Track 列表

    UnSubscribe
    • virtual void UnSubscribe(const RemoteTrackList& track_list) = 0
    • 取消订阅远端 Track 列表

      Parameters
      • track_list: std::list<shared_ptr<QNRemoteTrack>>

        要取消订阅的远端 Track 列表

    SendCustomMessage
    • virtual void SendCustomMessage(const std::list<std::string>& users_list, const std::string& message_id, const std::string& message) = 0
    • 发送自定义消息到指定用户群,发送成功后,会触发远端用户的 QNClientEventListener.OnMessageReceived 回调接口

      Parameters
      • users_list: std::list<std::string>

        用户 ID 列表

      • message_id: string

        自定义消息 ID

      • message: string

        自定义消息内容

    SetLiveStreamingListener
    StartLiveStreaming[1/2]
    StartLiveStreaming[2/2]
    StopLiveStreaming[1/2]
    StopLiveStreaming[2/2]
    SetTranscodingLiveStreamingTracks
    • virtual void SetTranscodingLiveStreamingTracks(std::string& stream_id, QNTranscodeingTrackList& transcoding_track_list) = 0
    • 新增、更新合流转推布局配置

      新增 track 布局以及对已有的 track 的合流布局进行更新均可通过该接口实现,只需修改 transcodingTracks 对应的 track 内容即可。

      Parameters
      • stream_id: string

        合流任务 stream id

      • transcoding_track_list: std::list<QNTranscodingLiveStreamingTrack>

        待新增、更新的合流转推布局配置

    RemoveTranscodingLiveStreamingTracks
    • virtual void RemoveTranscodingLiveStreamingTracks(std::string& stream_id, QNTranscodeingTrackList& transcoding_track_list) = 0
    • 移除合流转推布局配置

      Parameters
    SetRemoteAudioMixedFrameListener
    GetPublishedTracks
    • virtual LocalTrackList& GetPublishedTracks() = 0
    • 获取所有已经发布的本地 Track

      Returns std::list<QNLocalTrack*>
    GetRemoteUsers[1/2]
    • virtual QNRemoteUser& GetRemoteUsers(const std::string& user_id) = 0
    • 获取对应 ID 的远端用户

      Parameters
      • user_id: string

        远端用户 ID

      Returns QNRemoteUser
    GetRemoteUsers[2/2]
    • virtual RemoteUserList& GetRemoteUsers() = 0
    • 获取房间内所有的远端用户

      Returns std::list<QNRemoteUser>
    GetRemoteVideoTrackStats
    • virtual QNRemoteVideoTrackStatsMap& GetRemoteVideoTrackStats() = 0
    • 获取已订阅的远端视频轨道统计信息

      Returns std::map<std::string, QNRemoteVideoTrackStats>
    GetRemoteAudioTrackStats
    • virtual QNRemoteAudioTrackStatsMap& GetRemoteAudioTrackStats() = 0
    • 获取已订阅的远端音频轨道统计信息

      Returns std::map<std::string, QNRemoteAudioTrackStats>
    GetLocalVideoTrackStats
    • virtual QNLocalVideoTracksStatsMap& GetLocalVideoTrackStats() = 0
    • 获取已发布的近端视频轨道统计信息

      Returns std::map<std::string, std::list<QNLocalVideoTrackStats>>
    GetLocalAudioTrackStats
    • virtual QNLocalAudioTrackStatsMap& GetLocalAudioTrackStats() = 0
    • 获取已发布的近端音频轨道统计信息

      Returns std::map<std::string, QNLocalAudioTrackStats>
    以上内容是否对您有帮助?
  • Qvm free helper
    Close