agora::rtc::IRtmpLocalUser类 参考

  • C++

更新时间不可用

详细描述

IRtmpLocalUser 类。定义了 CDN 推流用户的行为和状态。

每个 CDN 连接都有自己的用户。你可以通过 getRtmpLocalUser 获取本地用户对象的指针。

成员枚举类型说明

VideoBitrateAdjustType

视频编码码率的调节类型。

枚举值

None

0: 不调节。

Increasing

1: 增加。每次使用该枚举时,视频编码码率会增加 50 kbps。

Decreasing

2: 减少。每次使用该枚举时,视频编码码率会减少 100 kbps。
表格内容超出当前宽度,可横向滚动查看更多列。

构造及析构函数说明

~IRtmpLocalUser()

inlinevirtual
virtual agora::rtc::IRtmpLocalUser::~IRtmpLocalUser()

成员函数说明

setAudioStreamConfiguration()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::setAudioStreamConfiguration(const RtmpStreamingAudioConfiguration & config)

设置主播端直接向 CDN 推流时的音频编码属性。

参数
参数名描述
config

CDN 推流的音频编码属性,详见 RtmpStreamingAudioConfiguration 。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

setVideoStreamConfiguration()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::setVideoStreamConfiguration(const RtmpStreamingVideoConfiguration & config)

设置主播端直接向 CDN 推流时的视频编码属性。

参数
参数名描述
config

CDN 推流的视频编码属性,详见 RtmpStreamingVideoConfiguration 。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

adjustRecordingSignalVolume()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::adjustRecordingSignalVolume(int volume)

调节主播端直接向 CDN 推流时的音频采集信号音量。

参数
参数名描述
volume

音量,取值范围为 [0,100]。其中:

  • 0: 静音。
  • 100:(默认)原始音量。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

getRecordingSignalVolume()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::getRecordingSignalVolume(int32_t * volume)

获取主播端直接向 CDN 推流时的音频采集信号音量。

参数
参数名描述
volume

音量指针。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

setAudioEnabled()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::setAudioEnabled(bool enabled)

在 CDN 推流中开启或关闭本地音频。

你需要在开始直接向 CDN 推流前调用该方法。

参数
参数名描述
enabled

是否开启本地音频:

  • true:开启
  • false:关闭
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

adjustVideoBitrate()

purevirtual
virtual void agora::rtc::IRtmpLocalUser::adjustVideoBitrate(VideoBitrateAdjustType type)

调节主播端直接向 CDN 推流时的视频编码码率。

如果多次调用该方法,调节效果会叠加。以当前视频编码码率为 200 kbps 为例:

  1. 调用该方法并设置 type 为 Increasing,则视频编码码率会增加 50 kbps,当前视频编码码率变为 250 kbps。
  2. 再次调用该方法并设置 type 为 Decreasing,则视频编码码率会减少 100 kbps,当前视频编码码率变为 150 kbps。
参数
参数名描述
type

视频编码码率的调节类型,详见 VideoBitrateAdjustType 。

表格内容超出当前宽度,可横向滚动查看更多列。

setVideoEnabled()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::setVideoEnabled(bool enabled)

在 CDN 推流中开启或关闭本地视频。

你需要在开始直接向 CDN 推流前调用该方法。

参数
参数名描述
enabled

是否开启本地视频:

  • true:开启
  • false:关闭
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

publishAudio()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::publishAudio(agora_refptr< rtc::ILocalAudioTrack > audioTrack)

向 CDN 推送本地音频流。

参数
参数名描述
audioTrack

本地音频轨道,详见 ILocalAudioTrack 。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

unpublishAudio()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::unpublishAudio(agora_refptr< rtc::ILocalAudioTrack > audioTrack)

停止向 CDN 推送本地音频流。

参数
参数名描述
audioTrack

本地音频轨道,详见 ILocalAudioTrack 。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

publishVideo()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::publishVideo(agora_refptr< rtc::ILocalVideoTrack > videoTrack)

向 CDN 推送本地视频流。

参数
参数名描述
videoTrack

本地视频轨道,详见 ILocalVideoTrack 。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

unpublishVideo()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::unpublishVideo(agora_refptr< rtc::ILocalVideoTrack > videoTrack)

停止向 CDN 推送本地视频流。

参数
参数名描述
videoTrack

本地视频轨道,详见 ILocalVideoTrack 。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

registerRtmpUserObserver()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::registerRtmpUserObserver(IRtmpLocalUserObserver * observer, void(*)(IRtmpLocalUserObserver *) safeDeleter = NULL)

注册 CDN 推流用户观测器。

成功注册后,你会收到 IRtmpLocalUserObserver 类中的相关回调。

参数
参数名描述
observer

IRtmpLocalUserObserver 对象的指针。 你需要在该方法中实现 IRtmpLocalUserObserver 类。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

unregisteRtmpUserObserver()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::unregisteRtmpUserObserver(IRtmpLocalUserObserver * observer)

注销 CDN 推流用户观测器。

成功注销后,你将不再收到 IRtmpLocalUserObserver 类中的相关回调。

参数
参数名描述
observer

IRtmpLocalUserObserver 对象的指针。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

registerAudioFrameObserver()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::registerAudioFrameObserver(media::base::IAudioFrameObserver * observer)

注册音频观测器。

参数
参数名描述
observer

IAudioFrameObserver 对象的指针。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

unregisterAudioFrameObserver()

purevirtual
virtual void agora::rtc::IRtmpLocalUser::unregisterAudioFrameObserver(media::base::IAudioFrameObserver * observer)

注销音频观测器。

参数
参数名描述
observer

IAudioFrameObserver 对象的指针。

表格内容超出当前宽度,可横向滚动查看更多列。

registerVideoFrameObserver()

purevirtual
virtual int agora::rtc::IRtmpLocalUser::registerVideoFrameObserver(media::base::IVideoFrameObserver * observer)

注册视频观测器。

参数
参数名描述
observer

IVideoFrameObserver 对象的指针。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

unregisterVideoFrameObserver()

purevirtual
virtual void agora::rtc::IRtmpLocalUser::unregisterVideoFrameObserver(media::base::IVideoFrameObserver * observer)

注销视频观测器。

参数
参数名描述
observer

IVideoFrameObserver 对象的指针。

表格内容超出当前宽度,可横向滚动查看更多列。