Skip to content

Commit

Permalink
Merge branch 'release/rtc-ng/4.3' of github.com:AgoraIO/agora_doc_sou…
Browse files Browse the repository at this point in the history
…rce into release/rtc-ng/4.3
  • Loading branch information
Suri539 committed Nov 22, 2023
2 parents 648caf9 + 8c8f411 commit a4e18cc
Show file tree
Hide file tree
Showing 29 changed files with 1,037 additions and 1,045 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,11 @@
<section id="prototype">
<p outputclass="codeblock">
<codeblock props="android" outputclass="language-java">public void onLocalAudioStateChanged(int state, int reason) {}</codeblock>
<codeblock props="ios mac" outputclass="language-objectivec">- (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine
localAudioStateChanged:(AgoraAudioLocalState)state error:(AgoraAudioLocalError)error;</codeblock>
<codeblock props="cpp unreal" outputclass="language-cpp">virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {
<codeblock props="ios mac" outputclass="language-objectivec">- (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStateChanged:(AgoraAudioLocalState)state reason:(AgoraAudioLocalReason)reason NS_SWIFT_NAME(rtcEngine(_:localAudioStateChanged:reason:));</codeblock>
<codeblock props="cpp unreal" outputclass="language-cpp"> virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason) {
(void)state;
(void)error;
}</codeblock>
(void)reason;
}</codeblock>
<codeblock props="bp" outputclass="language-cpp">DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalAudioStateChanged, ELOCAL_AUDIO_STREAM_STATE, state, ELOCAL_AUDIO_STREAM_ERROR, error);</codeblock>
<codeblock props="electron" outputclass="language-typescript"> onLocalAudioStateChanged?(
connection: RtcConnection,
Expand Down Expand Up @@ -64,17 +63,17 @@
</ul></pd>
</plentry>
<plentry>
<pt>error</pt>
<pd props="ios mac cpp unreal bp unity electron rn flutter cs">本地音频出错原因。详见 <xref keyref="LOCAL_AUDIO_STREAM_ERROR" />。</pd>
<pt>reason</pt>
<pd props="ios mac cpp unreal bp unity electron rn flutter cs">本地音频出错原因。详见 <xref keyref="LOCAL_AUDIO_STREAM_REASON" />。</pd>
<pd props="android">本地音频出错原因。
<ul>
<li><ph keyref="LOCAL_AUDIO_STREAM_ERROR_OK" /> (0): 本地音频状态正常。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_ERROR_FAILURE" /> (1): 本地音频出错原因不明确。建议提示用户尝试重新加入频道。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSION" /> (2): 没有权限启动本地音频采集设备。请提示用户开启权限。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_ERROR_DEVICE_BUSY" /> (3): 本地音频采集设备已经在使用中。请提示用户检查麦克风是否被其他应用占用。麦克风空闲约 5 秒后本地音频采集会自动恢复,你也可以在麦克风空闲后尝试重新加入频道。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_ERROR_RECORD_FAILURE" /> (4): 本地音频采集失败。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_ERROR_ENCODE_FAILURE" /> (5): 本地音频编码失败。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_ERROR_INTERRUPTED" /> (8): 本地音频采集被系统来电、Siri、闹钟中断。如需恢复本地音频采集,请用户中止电话、Siri、闹钟。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_REASON_OK" /> (0): 本地音频状态正常。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_REASON_FAILURE" /> (1): 本地音频出错原因不明确。建议提示用户尝试重新加入频道。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_REASON_DEVICE_NO_PERMISSION" /> (2): 没有权限启动本地音频采集设备。请提示用户开启权限。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_REASON_DEVICE_BUSY" /> (3): 本地音频采集设备已经在使用中。请提示用户检查麦克风是否被其他应用占用。麦克风空闲约 5 秒后本地音频采集会自动恢复,你也可以在麦克风空闲后尝试重新加入频道。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_REASON_RECORD_FAILURE" /> (4): 本地音频采集失败。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_REASON_ENCODE_FAILURE" /> (5): 本地音频编码失败。</li>
<li><ph keyref="LOCAL_AUDIO_STREAM_REASON_INTERRUPTED" /> (8): 本地音频采集被系统来电、Siri、闹钟中断。如需恢复本地音频采集,请用户中止电话、Siri、闹钟。</li>
</ul></pd>
</plentry>
</parml> </section>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,13 @@
<p outputclass="codeblock">
<codeblock props="android" outputclass="language-java">public void onLocalVideoStateChanged(Constants.VideoSourceType source, int state, int reason) {}
</codeblock>
<codeblock props="ios mac" outputclass="language-objectivec">- (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStateChangedOfState:(AgoraVideoLocalState)state
error:(AgoraLocalVideoStreamError)error
sourceType:(AgoraVideoSourceType)sourceType;
<codeblock props="ios mac" outputclass="language-objectivec">- (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStateChangedOfState:(AgoraVideoLocalState)state reason:(AgoraLocalVideoStreamReason)reason sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(rtcEngine(_:localVideoStateChangedOf:reason:sourceType:));
</codeblock>
<codeblock props="cpp unreal" outputclass="language-cpp">virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) {
<codeblock props="cpp unreal" outputclass="language-cpp"> virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) {
(void)source;
(void)state;
(void)error;
}
</codeblock>
(void)reason;
}</codeblock>
<codeblock props="bp" outputclass="language-cpp">DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnLocalVideoStateChanged, EVIDEO_SOURCE_TYPE, source, ELOCAL_VIDEO_STREAM_STATE, state, ELOCAL_VIDEO_STREAM_ERROR, error);</codeblock>
<codeblock props="electron" outputclass="language-typescript">onLocalVideoStateChanged?(
source: VideoSourceType,
Expand All @@ -43,14 +40,14 @@
</section>
<section id="detailed_desc">
<p id="desc1">本地视频的状态发生改变时,SDK 会触发该回调返回当前的本地视频状态。你可以通过该回调了解当前视频的状态以及出现故障的原因,方便排查问题。</p>
<p> SDK 会在如下情况触发 <apiname keyref="onLocalVideoStateChanged"/> 回调,状态为 <codeph><ph keyref="LOCAL_VIDEO_STREAM_STATE_FAILED"/></codeph>,错误码为 <codeph><ph keyref="LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE"/></codeph>:
<p> SDK 会在如下情况触发 <apiname keyref="onLocalVideoStateChanged"/> 回调,状态为 <codeph><ph keyref="LOCAL_VIDEO_STREAM_STATE_FAILED"/></codeph>,错误码为 <codeph><ph keyref="LOCAL_VIDEO_STREAM_REASON_CAPTURE_FAILURE"/></codeph>:
<ul>
<li props="cpp apple framework">应用退到后台,系统回收摄像头。</li>
<li props="cpp unreal bp android unity flutter rn">在 Android 9 及以上版本的设备上,应用退到后台,系统回收摄像头。</li>
<li props="cpp unreal bp android unity flutter rn">在 Android 6 及以上版本的设备上,摄像头被第三方应用占用。当第三方应用释放摄像头时,SDK 会触发 <codeph><apiname keyref="onLocalVideoStateChanged"/>(<ph keyref="LOCAL_VIDEO_STREAM_STATE_CAPTURING"/>,<ph keyref="LOCAL_VIDEO_STREAM_ERROR_OK"/>)</codeph> 回调。</li>
<li props="cpp unreal bp android unity flutter rn">在 Android 6 及以上版本的设备上,摄像头被第三方应用占用。当第三方应用释放摄像头时,SDK 会触发 <codeph><apiname keyref="onLocalVideoStateChanged"/>(<ph keyref="LOCAL_VIDEO_STREAM_STATE_CAPTURING"/>,<ph keyref="LOCAL_VIDEO_STREAM_REASON_OK"/>)</codeph> 回调。</li>
<li>摄像头正常启动,但连续 4 秒都没有输出采集的视频。</li>
</ul></p>
<p>摄像头输出采集的视频帧时,如果连续 15 帧中,所有视频帧都一样,SDK 触发 <apiname keyref="onLocalVideoStateChanged"/> 回调,状态为 <apiname keyref="LOCAL_VIDEO_STREAM_STATE_CAPTURING"/>,错误码为 <apiname keyref="LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE"/>。注意,帧重复检测仅针对分辨率大于 200 × 200、帧率大于等于 10 fps、码率小于 20 Kbps 的视频帧。</p>
<p>摄像头输出采集的视频帧时,如果连续 15 帧中,所有视频帧都一样,SDK 触发 <apiname keyref="onLocalVideoStateChanged"/> 回调,状态为 <apiname keyref="LOCAL_VIDEO_STREAM_STATE_CAPTURING"/>,错误码为 <apiname keyref="LOCAL_VIDEO_STREAM_REASON_CAPTURE_FAILURE"/>。注意,帧重复检测仅针对分辨率大于 200 × 200、帧率大于等于 10 fps、码率小于 20 Kbps 的视频帧。</p>
<note id="note" type="attention">对某些机型而言,当本地视频采集设备正在使用中时,SDK 不会在本地视频状态发生改变时触发该回调,你需要自行做超时判断。</note> </section>
<section id="parameters">
<title><ph keyref="callback-section-title"/></title>
Expand Down Expand Up @@ -78,25 +75,25 @@
</pd>
</plentry>
<plentry>
<pt props="native unreal bp rn electron flutter">error</pt>
<pt props="native unreal bp rn electron flutter">reason</pt>
<pt props="unity cs">errorCode</pt>
<pd>
<p props="ios mac cpp unreal bp electron rn flutter unity cs">本地视频出错原因,详见 <xref keyref="LOCAL_VIDEO_STREAM_ERROR"/>。</p>
<p props="ios mac cpp unreal bp electron rn flutter unity cs">本地视频出错原因,详见 <xref keyref="LOCAL_VIDEO_STREAM_REASON"/>。</p>
<p props="android">
<ul>
<li><ph keyref="LOCAL_VIDEO_STREAM_ERROR_OK"/> (0): 本地视频状态正常。</li>
<li><ph keyref="LOCAL_VIDEO_STREAM_ERROR_FAILURE"/> (1): 出错原因不明确。</li>
<li><ph keyref="LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY"/> (3): 本地视频采集设备正在使用中。请提示用户检查摄像头是否被其他应用占用。</li>
<li><ph keyref="LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE"/> (4): 本地视频采集失败。请提示用户检查视频采集设备是否正常工作,检查摄像头是否被其他应用占用,或者尝试重新加入频道。
<li><ph keyref="LOCAL_VIDEO_STREAM_REASON_OK"/> (0): 本地视频状态正常。</li>
<li><ph keyref="LOCAL_VIDEO_STREAM_REASON_FAILURE"/> (1): 出错原因不明确。</li>
<li><ph keyref="LOCAL_VIDEO_STREAM_REASON_DEVICE_BUSY"/> (3): 本地视频采集设备正在使用中。请提示用户检查摄像头是否被其他应用占用。</li>
<li><ph keyref="LOCAL_VIDEO_STREAM_REASON_CAPTURE_FAILURE"/> (4): 本地视频采集失败。请提示用户检查视频采集设备是否正常工作,检查摄像头是否被其他应用占用,或者尝试重新加入频道。



<ul>
<li>Android 9 及以上版本,App 切后台一段时间后,系统收回相机权限。</li>
<li>Android 6 及以上版本,如果相机被第三方应用占用,且未被及时释放。如果一段时间后,相机被释放,则 SDK会再次出发该回调,并报告 <codeph>state</codeph> 为 <codeph>CAPTURING</codeph>,<codeph>error</codeph> 为 <codeph>ERROR_OK</codeph>。</li>
</ul></li>
<li><ph keyref="LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE"/> (5):本地视频编码失败。</li>
<li><ph keyref="LOCAL_VIDEO_STREAM_ERROR_DEVICE_NOT_FOUND"/> (8):找不到本地视频采集设备。需检查摄像头是否与设备正常连接、摄像头是否正常工作,或者尝试重新加入频道。</li>
<li><ph keyref="LOCAL_VIDEO_STREAM_REASON_ENCODE_FAILURE"/> (5):本地视频编码失败。</li>
<li><ph keyref="LOCAL_VIDEO_STREAM_REASON_DEVICE_NOT_FOUND"/> (8):找不到本地视频采集设备。需检查摄像头是否与设备正常连接、摄像头是否正常工作,或者尝试重新加入频道。</li>
</ul> </p>
</pd>
</plentry>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
<reference id="enum_localaudiostreamerror">
<title> <ph keyref="LOCAL_AUDIO_STREAM_ERROR"/> </title>
<reference id="enum_localaudiostreamreason">
<title> <ph keyref="LOCAL_AUDIO_STREAM_REASON"/> </title>
<shortdesc id="short"> <ph id="shortdesc">本地音频出错原因。</ph> </shortdesc>
<refbody>
<section id="parameters">
<title>枚举值</title>
<parml>
<plentry>
<pt> <ph keyref="LOCAL_AUDIO_STREAM_ERROR_OK"/> </pt>
<pt> <ph keyref="LOCAL_AUDIO_STREAM_REASON_OK"/> </pt>
<pd>0:本地音频状态正常。</pd>
</plentry>
<plentry>
<pt> <ph keyref="LOCAL_AUDIO_STREAM_ERROR_FAILURE"/> </pt>
<pt> <ph keyref="LOCAL_AUDIO_STREAM_REASON_FAILURE"/> </pt>
<pd>1:本地音频出错原因不明确。建议提示用户尝试重新加入频道。</pd>
</plentry>
<plentry>
<pt> <ph keyref="LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSION"/> </pt>
<pt> <ph keyref="LOCAL_AUDIO_STREAM_REASON_DEVICE_NO_PERMISSION"/> </pt>
<pd>2:没有权限启动本地音频采集设备。请提示用户开启权限。
<dl outputclass="deprecated">
<dlentry>
Expand All @@ -26,37 +26,37 @@
</dl></pd>
</plentry>
<plentry props="android ios cpp unreal bp unity rn flutter cs">
<pt> <ph keyref="LOCAL_AUDIO_STREAM_ERROR_DEVICE_BUSY"/> </pt>
<pt> <ph keyref="LOCAL_AUDIO_STREAM_REASON_DEVICE_BUSY"/> </pt>
<pd props="android ios cpp unreal bp unity rn flutter">3:<ph props="cpp unreal bp unity flutter">(仅适用于 Android 和 iOS)</ph>本地音频采集设备已经在使用中。请提示用户检查麦克风是否被其他应用占用。麦克风空闲约 5 秒后本地音频采集会自动恢复,你也可以在麦克风空闲后尝试重新加入频道。</pd>
<pd props="cs">3:预留。</pd>
</plentry>
<plentry>
<pt> <ph keyref="LOCAL_AUDIO_STREAM_ERROR_RECORD_FAILURE"/> </pt>
<pt> <ph keyref="LOCAL_AUDIO_STREAM_REASON_RECORD_FAILURE"/> </pt>
<pd>4:本地音频采集失败。</pd>
</plentry>
<plentry>
<pt> <ph keyref="LOCAL_AUDIO_STREAM_ERROR_ENCODE_FAILURE"/> </pt>
<pt> <ph keyref="LOCAL_AUDIO_STREAM_REASON_ENCODE_FAILURE"/> </pt>
<pd>5:本地音频编码失败。</pd>
</plentry>
<plentry props="cpp unreal bp unity flutter electron cs">
<pt><ph keyref="LOCAL_AUDIO_STREAM_ERROR_NO_RECORDING_DEVICE"/></pt>
<pt><ph keyref="LOCAL_AUDIO_STREAM_REASON_NO_RECORDING_DEVICE"/></pt>
<pd>6:(仅适用于 Windows)无本地音频采集设备。请提示用户在设备的控制面板中检查麦克风是否与设备连接正常,检查麦克风是否正常工作。</pd>
</plentry>
<plentry props="cpp unreal bp unity flutter electron cs">
<pt><ph keyref="LOCAL_AUDIO_STREAM_ERROR_NO_PLAYOUT_DEVICE"/></pt>
<pt><ph keyref="LOCAL_AUDIO_STREAM_REASON_NO_PLAYOUT_DEVICE"/></pt>
<pd>7:(仅适用于 Windows)无本地音频播放设备。请提示用户在设备的控制面板中检查扬声器是否与设备连接正常,检查扬声器是否正常工作。</pd>
</plentry>
<plentry props="cpp unreal bp ios unity flutter rn cs">
<pt><ph keyref="LOCAL_AUDIO_STREAM_ERROR_INTERRUPTED"/> </pt>
<pt><ph keyref="LOCAL_AUDIO_STREAM_REASON_INTERRUPTED"/> </pt>
<pd props="cpp unreal bp ios unity rn flutter">8:<ph props="cpp unreal bp unity flutter">(仅适用于 Android 和 iOS)</ph>本地音频采集被系统来电、Siri、闹钟中断。如需恢复本地音频采集,请用户中止电话、Siri、闹钟。</pd>
<pd props="cs">预留。</pd>
</plentry>
<plentry props="cpp unreal bp unity flutter electron cs">
<pt><ph keyref="LOCAL_AUDIO_STREAM_ERROR_RECORD_INVALID_ID"/></pt>
<pt><ph keyref="LOCAL_AUDIO_STREAM_REASON_RECORD_INVALID_ID"/></pt>
<pd>9:(仅适用于 Windows)本地音频采集设备的 ID 无效。请检查音频采集设备 ID。</pd>
</plentry>
<plentry props="cpp unreal bp unity flutter electron cs">
<pt><ph keyref="LOCAL_AUDIO_STREAM_ERROR_PLAYOUT_INVALID_ID"/></pt>
<pt><ph keyref="LOCAL_AUDIO_STREAM_REASON_PLAYOUT_INVALID_ID"/></pt>
<pd>10:(仅适用于 Windows)本地音频播放设备的 ID 无效。请检查音频播放设备 ID。</pd>
</plentry>
</parml> </section>
Expand Down
Loading

0 comments on commit a4e18cc

Please sign in to comment.