diff --git a/dita/RTC-NG/API/api_player_getconfigs.dita b/dita/RTC-NG/API/api_player_getconfigs.dita
new file mode 100644
index 00000000000..838bead0eea
--- /dev/null
+++ b/dita/RTC-NG/API/api_player_getconfigs.dita
@@ -0,0 +1,58 @@
+
+
+
+
+ 获取当前的播放器设置。
+
+
+
+
+
+
+
+
+
+
+ public void getConfigs(PlayerConfig config) throws RteException;
+
+ - (BOOL)getConfigs:(AgoraRtePlayerConfig * _Nonnull)config error:(AgoraRteError * _Nullable)error;
+ bool GetConfigs(PlayerConfig* config, Error* err);
+
+
+
+
+
+
+
+
+
+ - 自从
+ - v4.5.0
+
+
+
+
+
+
+
+
+
+
diff --git a/dita/RTC-NG/API/api_player_getinfo.dita b/dita/RTC-NG/API/api_player_getinfo.dita
new file mode 100644
index 00000000000..c3588430f73
--- /dev/null
+++ b/dita/RTC-NG/API/api_player_getinfo.dita
@@ -0,0 +1,65 @@
+
+
+
+
+ 获取播放器播放的媒体流的相关信息。
+
+
+
+
+
+
+
+
+
+
+ public void getInfo(PlayerInfo info) throws RteException;
+
+ - (BOOL)getInfo:(AgoraRtePlayerInfo * _Nonnull)info error:(AgoraRteError * _Nullable)error;
+ bool GetInfo(PlayerInfo *info, Error *err);
+
+
+
+
+
+
+
+
+
+ - 自从
+ - v4.5.0
+
+
+ 你可以通过该方法获取媒体流的相关信息,例如媒体流的数量、音频采样率、视频分辨率宽高等信息。
+
+
+
+
+
+ 参数
+
+
+ info
+ 媒体流的相关信息,详见 。
+
+
+
+
+
+
+
+
+ 方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
+ 获取媒体流信息是否成功:
+
+
+
diff --git a/dita/RTC-NG/API/api_player_muteaudio.dita b/dita/RTC-NG/API/api_player_muteaudio.dita
new file mode 100644
index 00000000000..ac10f8b9ab1
--- /dev/null
+++ b/dita/RTC-NG/API/api_player_muteaudio.dita
@@ -0,0 +1,67 @@
+
+
+
+
+ //TODO
+
+
+
+
+
+
+
+
+
+
+ public void muteAudio(boolean mute) throws RteException;
+
+ - (BOOL)muteAudio:(BOOL)mute error:(AgoraRteError * _Nullable)error;
+ bool MuteAudio(bool mute, Error* err);
+
+
+
+
+
+
+
+
+
+ - 自从
+ - v4.5.0
+
+
+
+
+
+
+
+
+
+
+
+ 方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
+
+ - 0: 方法调用成功。
+ - < 0: 方法调用失败。详见了解详情和解决建议。
+
+
+
diff --git a/dita/RTC-NG/API/api_player_mutevideo.dita b/dita/RTC-NG/API/api_player_mutevideo.dita
new file mode 100644
index 00000000000..4b9e65d7b7e
--- /dev/null
+++ b/dita/RTC-NG/API/api_player_mutevideo.dita
@@ -0,0 +1,67 @@
+
+
+
+
+ //TODO
+
+
+
+
+
+
+
+
+
+
+ public void muteVideo(boolean mute) throws RteException;
+
+ - (BOOL)muteVideo:(BOOL)mute error:(AgoraRteError * _Nullable)error;
+ bool MuteVideo(bool mute, Error* err);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
+
+ - 0: 方法调用成功。
+ - < 0: 方法调用失败。详见了解详情和解决建议。
+
+
+
diff --git a/dita/RTC-NG/API/api_player_pause.dita b/dita/RTC-NG/API/api_player_pause.dita
index 23a546c526a..a7c29847bed 100644
--- a/dita/RTC-NG/API/api_player_pause.dita
+++ b/dita/RTC-NG/API/api_player_pause.dita
@@ -30,38 +30,36 @@
v4.5.0
-
-
-
- 适用场景
-
+ 当你调用 播放 URL 流后,如果你想暂停播放,可以调用此方法。如果你想要停止播放,请调用 。
+
-
+
-
+
方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
-
- - 0: 方法调用成功。
- - < 0: 方法调用失败。详见了解详情和解决建议。
-
+ 暂停播放是否成功:
+
diff --git a/dita/RTC-NG/API/api_player_registerobserver.dita b/dita/RTC-NG/API/api_player_registerobserver.dita
index 21fdb5d8761..61384f194ec 100644
--- a/dita/RTC-NG/API/api_player_registerobserver.dita
+++ b/dita/RTC-NG/API/api_player_registerobserver.dita
@@ -27,41 +27,39 @@
- 自从
- - v
+ - v4.5.0
-
-
-
- 适用场景
-
+ 你需要在该方法中实现一个 类,并根据场景需要,注册该类的回调。
+
-
参数
-
-
-
+
+ observer
+ 接口对象实例,详见 。
+
+
+
+
-
+
方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
-
- - 0: 方法调用成功。
- - < 0: 方法调用失败。详见了解详情和解决建议。
-
+ 注册是否成功:
+
diff --git a/dita/RTC-NG/API/api_player_setconfigs.dita b/dita/RTC-NG/API/api_player_setconfigs.dita
new file mode 100644
index 00000000000..5f8343e425a
--- /dev/null
+++ b/dita/RTC-NG/API/api_player_setconfigs.dita
@@ -0,0 +1,65 @@
+
+
+
+
+ 设置播放器配置。
+
+
+
+
+
+
+
+
+
+
+ public void setConfigs(PlayerConfig config) throws RteException;
+
+ - (BOOL)setConfigs:(AgoraRtePlayerConfig * _Nonnull)config error:(AgoraRteError * _Nullable)error;
+ bool SetConfigs(PlayerConfig* config, Error* err);
+
+
+
+
+
+
+
+
+
+ - 自从
+ - v4.5.0
+
+
+ 你可以调用该方法来进行播放器设置,如开启自动播放、订阅不同分辨率和码率的视频流等。
+
+
+
+
+
+ 参数
+
+
+ config
+ 播放器设置的对象,详见 。
+
+
+
+
+
+
+
+
+ 方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
+ 播放器设置是否成功:
+
+
+
diff --git a/dita/RTC-NG/API/api_player_stop.dita b/dita/RTC-NG/API/api_player_stop.dita
new file mode 100644
index 00000000000..fd4791de8b4
--- /dev/null
+++ b/dita/RTC-NG/API/api_player_stop.dita
@@ -0,0 +1,65 @@
+
+
+
+
+ 停止播放。
+
+
+
+
+
+
+
+
+
+
+ public void pause() throws RteException;
+
+ - (BOOL)pause:(AgoraRteError * _Nullable)error;
+ bool Stop(Error* err);
+
+
+
+
+
+
+
+
+
+ - 自从
+ - v4.5.0
+
+
+
+ 当你调用 播放 URL 流后,如果你想停止播放,可以调用此方法。如果你需要暂停播放,请调用 。
+
+
+
+
+
+
+
+ 方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
+ 停止播放是否成功:
+
+
+
diff --git a/dita/RTC-NG/API/api_player_unregisterobserver.dita b/dita/RTC-NG/API/api_player_unregisterobserver.dita
new file mode 100644
index 00000000000..ac8ac714d1c
--- /dev/null
+++ b/dita/RTC-NG/API/api_player_unregisterobserver.dita
@@ -0,0 +1,65 @@
+
+
+
+
+ 取消注册 RTE 播放器事件观测器。
+
+
+
+
+
+
+
+
+
+
+ public void unregisterObserver(PlayerObserver observer) throws RteException;
+
+ - (BOOL)unregisterObserver:(AgoraRtePlayerObserver * _Nullable)observer error:(AgoraRteError * _Nullable)error;
+ bool UnregisterObserver(PlayerObserver *observer, Error *err);
+
+
+
+
+
+
+
+
+
+ - 自从
+ - v4.5.0
+
+
+ 调用 注册播放器事件观测器后,如果你需要取消注册,请调用该方法。
+
+
+
+
+
+
+
+ 方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
+ 取消注册是否成功:
+
+
+
diff --git a/dita/RTC-NG/API/callback_playerobserver_onresolutionchanged.dita b/dita/RTC-NG/API/callback_playerobserver_onresolutionchanged.dita
new file mode 100644
index 00000000000..a98881a9b16
--- /dev/null
+++ b/dita/RTC-NG/API/callback_playerobserver_onresolutionchanged.dita
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。
+
+ - 0: 方法调用成功。
+ - < 0: 方法调用失败。详见了解详情和解决建议。
+
+
+
diff --git a/dita/RTC-NG/API/callback_playerobserver_onstatechanged.dita b/dita/RTC-NG/API/callback_playerobserver_onstatechanged.dita
new file mode 100644
index 00000000000..c4049307bfe
--- /dev/null
+++ b/dita/RTC-NG/API/callback_playerobserver_onstatechanged.dita
@@ -0,0 +1,65 @@
+
+
+
+
+ 播放器状态发生改变回调。
+
+
+
+
+
+
+
+
+
+
+ public void onStateChanged(int old_state, int new_state, Error error){}
+
+ - (void)onStateChanged:(AgoraRtePlayerState)oldState newState:(AgoraRtePlayerState)newState error:(AgoraRteError * _Nullable)error;
+ virtual void onStateChanged(PlayerState old_state, PlayerState new_state,
+ rte::Error *err) = 0;
+
+
+
+
+
+
+
+
+
+ - 自从
+ - v4.5.0
+
+
+ 如果你需要监控播放器状态的变化,需要在调用 方法时注册该回调。
+
+
+ 触发时机
+ 当播放器状态发生变化时,SDK 会触发此回调报告当前和变化之前的状态。
+
+
+
+ 参数
+
+
+ old_state
+ oldState
+ 播放器变化前的状态,详见 。
+
+
+
+ new_state
+ newState
+ 播放器当前的状态,详见 。如果当前状态为 ,你可以通过 errerror 参数获取详细错误信息。
+
+
+ error
+ err
+ 状态或错误信息,详见 。
+
+
+
+
diff --git a/dita/RTC-NG/API/class_rteplayerinfo.dita b/dita/RTC-NG/API/class_rteplayerinfo.dita
new file mode 100644
index 00000000000..a78de61312b
--- /dev/null
+++ b/dita/RTC-NG/API/class_rteplayerinfo.dita
@@ -0,0 +1,146 @@
+
+
+
+
+ 媒体流的相关信息。
+
+
+
+ public class PlayerInfo {
+ public int state();
+ public long duration();
+ public int streamCount();
+ public boolean hasAudio();
+ public boolean hasVideo();
+ public boolean isAudioMuted();
+ public boolean isVideoMuted();
+ public int videoHeight();
+ public int videoWidth();
+ public Constants.AbrSubscriptionLayer abrSubscriptionLayer();
+ public int audioSampleRate();
+ public int audioChannels();
+ public int audioBitsPerSample();
+}
+
+ @interface AgoraRtePlayerInfo : NSObject
+- (instancetype _Nonnull)init;//TODO
+- (int)state;
+- (long)duration;
+- (int)streamCount;
+- (BOOL)hasAudio;
+- (BOOL)hasVideo;
+- (BOOL)isAudioMuted;
+- (BOOL)isVideoMuted;
+- (int)videoHeight;
+- (int)videoWidth;
+- (AgoraRteAbrSubscriptionLayer)abrSubscriptionLayer;
+- (int)audioSampleRate;
+- (int)audioChannels;
+- (int)audioBitsPerSample;
+@end
+ typedef struct RtePlayerInfo {
+ RtePlayerState state;
+ size_t duration;
+ size_t stream_count;
+ bool has_audio;
+ bool has_video;
+ bool is_audio_muted;
+ bool is_video_muted;
+ int video_height;
+ int video_width;
+ RteAbrSubscriptionLayer abr_subscription_layer;
+ int audio_sample_rate;
+ int audio_channels;
+ int audio_bits_per_sample;
+} RtePlayerInfo;
+
+
+
+
+
+
+
+
+
+
+
+ state
+ 播放器当前的状态,详见 。
+
+
+ duration
+ 预留参数。
+
+
+ stream_count
+ streamCount
+ 预留参数。
+
+
+ has_audio
+ hasAudio
+ URL 媒体流中是否存在音频流。//TODO
+
+
+ has_video
+ hasVideo
+ URL 媒体流中是否存在视频流。//TODO
+
+
+ is_audio_muted
+ isAudioMuted
+ 音频流是否被静音。//TODO
+
+
+ is_video_muted
+ isVideoMuted
+ 视频流是否被静音。//TODO
+
+
+ video_height
+ videoHeight
+ 视频的高度(px)。
+
+
+ video_width
+ videoWidth
+ 视频的宽度(px)。
+
+
+ abr_subscription_layer
+ abrSubscriptionLayer
+ 订阅的视频流的质量级别。在自适应码率(ABR)视频流中,不同的质量级别对应不同的分辨率和码率,详见 。
+
+
+ audio_sample_rate
+ audioSampleRate
+ 音频采样率(Hz)。
+
+
+ audio_channels
+ audioChannels
+ 音频声道数。
+
+
+ audio_bits_per_sample
+ audioBitsPerSample
+ 每个音频样本使用的位数(位深)。//TODO 16位、24位 还是 32位?
+
+
+
+
+
diff --git a/dita/RTC-NG/API/enum_rteplayerstate.dita b/dita/RTC-NG/API/enum_rteplayerstate.dita
new file mode 100644
index 00000000000..c3eb0f1de8e
--- /dev/null
+++ b/dita/RTC-NG/API/enum_rteplayerstate.dita
@@ -0,0 +1,24 @@
+
+
+
+
+ 播放器的状态。
+
+
+
+
diff --git a/dita/RTC-NG/RTC_NG_API_CPP.ditamap b/dita/RTC-NG/RTC_NG_API_CPP.ditamap
index aabd405115c..a7dcabaa095 100644
--- a/dita/RTC-NG/RTC_NG_API_CPP.ditamap
+++ b/dita/RTC-NG/RTC_NG_API_CPP.ditamap
@@ -455,27 +455,37 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap
index 895f61a0692..2e8bce5bf74 100644
--- a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap
+++ b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap
@@ -1071,17 +1071,38 @@
+
+
+
+ MuteAudio
+
+
+
+
+
+
+ MuteVideo
+
+
+
- SetConfigs [1/2]
+ SetConfigs [1/3]
+
+
+
+
+
+
+ SetConfigs [2/3]
- SetConfigs [2/2]
+ SetConfigs [3/3]
@@ -1095,14 +1116,35 @@
- GetConfigs [1/2]
+ GetConfigs [1/3]
+
+
+
+
+
+
+ GetConfigs [2/3]
- GetConfigs [2/2]
+ GetConfigs [3/3]
+
+
+
+
+
+
+ GetInfo
+
+
+
+
+
+
+ Pause
@@ -1127,6 +1169,20 @@
+
+
+
+ RegisterObserver_Player
+
+
+
+
+
+
+ Stop
+
+
+
@@ -1134,6 +1190,22 @@
+
+
+
+ UnregisterObserver
+
+
+
+
+
+
+
+
+ onStateChanged
+
+
+
diff --git a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap
index fab455b5fde..0aae2d7c5eb 100644
--- a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap
+++ b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap
@@ -3329,16 +3329,32 @@
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+