Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【TRTC_Windows】【Windows】Translate Chinese annotation into English #21

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,46 +2,53 @@
/*
* Module: GenerateTestUserSig
*
* Function: 用于生成测试用的 UserSig,UserSig 是腾讯云为其云服务设计的一种安全保护签名。
* 其计算方法是对 SDKAppIDUserID EXPIRETIME 进行加密,加密算法为 HMAC-SHA256。
* Function: For generating UserSig which is security signature for cloud service.
* Calculated by encrypting SDKAppID, UserID and EXPIRETIME.
*
* Attention: 请不要将如下代码发布到您的线上正式版本的 App 中,原因如下:
* Attention: Reasons for forbiding to publish following code on official app:
*
* 本文件中的代码虽然能够正确计算出 UserSig,但仅适合快速调通 SDK 的基本功能,不适合线上产品,
* 这是因为客户端代码中的 SDKSECRETKEY 很容易被反编译逆向破解,尤其是 Web 端的代码被破解的难度几乎为零。
* 一旦您的密钥泄露,攻击者就可以计算出正确的 UserSig 来盗用您的腾讯云流量。
* Codes calculating proper UserSig only suitable for quickly adjust the basic funtions of SDK
but not for official app,
* because 'SDKSECRETKEY' in client codes is easy to reverse hack.
* Once secret key released, hackers can steal your Tencent cloud traffic with correct UserSig.
*
* 正确的做法是将 UserSig 的计算代码和加密密钥放在您的业务服务器上,然后由 App 按需向您的服务器获取实时算出的 UserSig。
* 由于破解服务器的成本要高于破解客户端 App,所以服务器计算的方案能够更好地保护您的加密密钥。
* Advised to place the calculation code and encryption key on business server,
and the client get it in real time.
* Server calculated solutions can better protect your encryption keys because of its higher cost.
*
* Reference:https://cloud.tencent.com/document/product/647/17275#Server
*/
function genTestUserSig(userID) {
/**
* 腾讯云 SDKAppId,需要替换为您自己账号下的 SDKAppId。
* Tencent Cloud SDKAppId should be replaced with your SDKAppId。
*
* 进入腾讯云实时音视频[控制台](https://console.cloud.tencent.com/rav ) 创建应用,即可看到 SDKAppId,
* 它是腾讯云用于区分客户的唯一标识。
* Enter Tencent Cloud real-time audio and video[Console](https://console.cloud.tencent.com/rav )
to create app then can check SDKAppId,
* Unique identifier used by Tencent Cloud to distinguish customers.
*/
const SDKAPPID = 0;

/**
* 签名过期时间,建议不要设置的过短
* Do not set the signature expiration time too short
* <p>
* 时间单位:秒
* 默认时间:7 x 24 x 60 x 60 = 604800 = 7
* Time unit: second
* Default:7 x 24 x 60 x 60 = 604800 = 7 days
*/
const EXPIRETIME = 604800;

/**
* 计算签名用的加密密钥,获取步骤如下:
* Steps for calculting encryption key:
*
* step1. 进入腾讯云实时音视频[控制台](https://console.cloud.tencent.com/rav ),如果还没有应用就创建一个,
* step2. 单击“应用配置”进入基础配置页面,并进一步找到“帐号体系集成”部分。
* step3. 点击“查看密钥”按钮,就可以看到计算 UserSig 使用的加密的密钥了,请将其拷贝并复制到如下的变量中
* step1. Enter Tencent Cloud real-time audio and video[Console](https://console.cloud.tencent.com/rav ),
if you don't have yours then create one.
* step2. Click Application Configuration for basic configuration page
and then locate the Account System Integration section.
* step3. Click the "View key" button to see the encryption key used to calculate UserSig,
copy it to the following variables
*
* 注意:该方案仅适用于调试Demo,正式上线前请将 UserSig 计算代码和密钥迁移到您的后台服务器上,以避免加密密钥泄露导致的流量盗用。
* 文档:https://cloud.tencent.com/document/product/647/17275#Server
* Note: Only applicable to debugging Demo. Before the official launch, migrate the UserSig calculation code and key
to your background server to avoid traffic theft caused by encryption key disclosure.
* Document:https://cloud.tencent.com/document/product/647/17275#Server
*/
const SDKSECRETKEY = '';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,3 @@
/**
* TRTC 音频检测
*
* - 需要通过getDeviceManager()获取ITXDeviceManager实例执行音频检测
* - 调用方式参见:
* - 1.麦克风检测 - startMicTest();stopMicTest();
* - 2.扬声器检测 - startSpeakerTest();stopSpeakerTest();
* -
* - 获取可用设备方式参见:
* - refreshMicDevices()/refreshSpeakerDevices();
* -
* - 需要关注的回调方法:
* - onTestMicVolume(uint32_t volume);void onTestSpeakerVolume(uint32_t volume);
*/

/**
* Audio testing
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,3 @@
/**
* TRTC 音频录制
*
* - 使用音频录制功能,SDK 会将通话过程中的所有音频(包括本地音频,远端音频,BGM等)录制到一个文件里。 无论是否进房,调用该接口都生效。 如果调用 exitRoom 时还在录音,录音会自动停止。
* -
* - 使用方式参考:
* - startAudioRecording();
* - stopAudioRecording();
* - handleWithRecordingResult(int result);
*/

/**
* Audio recording
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,3 @@
/**
* TRTC 音频设置
*
* - 此功能模块中,可以参考并调用如下功能
* - setRemoteAudioVolume -> 设置某个远程用户的播放音量
* - setAudioPlayoutVolume -> 设置 SDK 播放音量
* - setApplicationPlayVolume -> 设置 Windows 系统音量合成器中当前进程的音量
* - setApplicationMuteState -> 设置 Windows 系统音量合成器中当前进程的静音状态
* - setCurrentDeviceVolume -> 设置当前设备的音量
* - setCurrentDeviceMute -> 设置当前设备是否静音
* - setAudioCaptureVolume -> 设置 SDK 采集音量
* - setSystemAudioLoopbackVolume -> 设置系统声音采集的音量
* - startSystemAudioLoopback -> 打开系统声音采集(开启后可以采集整个操作系统的播放声音(参数path 为空)或某一个播放器(参数path 不为空)的声音, 并将其混入到当前麦克风采集的声音中一起发送到云端。)
*/

/**
* Audio settings
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,6 @@ void TestBaseScene::enterRoom(uint32_t roomId, std::string userId, liteav::TRTCA
liteav::TRTCParams params;
params.sdkAppId = SDKAppID;
params.userId = user_id_.c_str();
/** @note: 请不要将如下代码发布到您的线上正式版本的 App 中,原因如下:
* 本文件中的代码虽然能够正确计算出 UserSig,但仅适合快速调通 SDK 的基本功能,不适合线上产品,
* 这是因为客户端代码中的 SDKSECRETKEY 很容易被反编译逆向破解,尤其是 Web 端的代码被破解的难度几乎为零。
* 一旦您的密钥泄露,攻击者就可以计算出正确的 UserSig 来盗用您的腾讯云流量。
* 正确的做法是将 UserSig 的计算代码和加密密钥放在您的业务服务器上,然后由 App 按需向您的服务器获取实时算出的 UserSig。
* 由于破解服务器的成本要高于破解客户端 App,所以服务器计算的方案能够更好地保护您的加密密钥。
* 文档:https://cloud.tencent.com/document/product/647/17275#Server
*/

/** @note: Do not use the code below in your commercial application. This is because:
* The code may be able to calculate UserSig correctly, but it is only for quick testing of the SDK’s basic features, not for commercial applications.
* SDKSECRETKEY in client code can be easily decompiled and reversed, especially on web.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,3 @@
/**
* TRTC 基础功能,包括进房、退房以及切换角色、展示用户画面语音等功能
*
* - 目前支持4种场景:
* - 视频通话(TRTCAppSceneVideoCall)、在线直播互动(TRTCAppSceneLIVE)、语音通话(TRTCAppSceneAudioCall),语音聊天室(TRTCAppSceneVoiceChatRoom)
* - 当 scene 选择为 TRTCAppSceneLIVE 或 TRTCAppSceneVoiceChatRoom 时,您必须通过 TRTCParams 中的 role 字段指定当前用户的角色。
* -
* - 进房: 调用参考enterRoom方法实现,更详细的api说明参见:https://liteav.sdk.qcloud.com/doc/api/zh-cn/group__ITRTCCloud__cplusplus.html#ac73c4ad51eda05cd2bcec820c847e84f
* - 退房: 调用参考exitRoom方法实现,注意不管进房是否成功,enterRoom 都必须与 exitRoom 配对使用,在调用 exitRoom 前再次调用 enterRoom 函数会导致不可预期的错误问题。
* -
* - 切换角色:switchRole,切换角色,仅适用于直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom)
* - 角色有两种:
* - 1. TRTCRoleAnchor 主播,可以上行视频和音频,一个房间里最多支持50个主播同时上行音视频。
* - 2. TRTCRoleAudience 观众,只能观看,不能上行视频和音频,一个房间里的观众人数没有上限。
*
* - 进房、退房行为所关注的用户状态回调与展示,参见test_user_video_group.h的实现
*/

/**
* Basic features, including room entry, room exit, role switching, and video/volume display
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* TRTC 远端用户共享屏幕的展示窗口
* Display window of remote user's screen in TRTC rooms
*/

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,3 @@
/**
* TRTC 房间用户展示、状态管理的父控件
*
* - 主要关注用户的进出房间状态,音视频可见性,房间状态的统一管理
* -
* - 房间的统一管理:
* - setNetworkQosParam : 设置网络流控相关参数。
* - muteAllRemoteVideoStreams : 暂停/恢复接收所有远端视频流。
* - muteAllRemoteAudio : 静音/取消静音所有用户的声音。
* - showDebugView : 显示仪表盘, 包含状态统计和事件消息浮层,方便调试
* -
* - 关注的用户状态:
* - onRemoteUserEnterRoom:远端用户进房
* - onRemoteUserLeaveRoom:远端用户退房
* - onUserVideoAvailable:远端用户是否有视频数据到达,可以调用startRemoteView展示用户画面
* - onUserAudioAvailable:远端用户是否有音频到达
* - onUserSubStreamAvailable:远端用户是否开启屏幕分享,可以调用startRemoteView展示屏幕分享
* - onUserVoiceVolume:返回每个远端用户的音量和总音量,可以通过enableAudioVolumeEvaluation开启这个回调
*/

/**
* Parent control for user display and status management in TRTC rooms
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,4 @@
/**
* TRTC 房间用户展示的子控件
*
* - 控制单个用户的音频、视频行为
* -
* - 静音:参见muteAudio实现,控制本地静音和远端用户静音
* - 静画:参加muteVideo实现,控制本地静画和远端用户静画
* - 设置图像渲染参数:参见setRenderParams,设置本地图像和远端图像的渲染参数,包含旋转,镜像,填充模式
* - 设置显示远端画面的类型:支持主画面(TRTCVideoStreamTypeBig),小画面(TRTCVideoStreamTypeSmall),辅流(屏幕分享 TRTCVideoStreamTypeSub)
*/

/**
* Sub-control for user display
*
* - Managing the audio/video status of a single user
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,3 @@
/**
* TRTC 美颜和水印功能
*
* - 美颜:参考updateBeautyStyle:
* - 设置美颜、美白、红润效果级别
* - SDK 内部集成了两套风格不同的磨皮算法,一套我们取名叫“光滑”,适用于美女秀场,效果比较明显。 另一套我们取名“自然”,磨皮算法更多地保留了面部细节,主观感受上会更加自然。
* -
* - 水印:参考setWatermark()/unsetWatermark()
* - 设置水印后,远端用户看到你的画面上会叠加水印浮层,注意水印只支持主路视频流
*/

/**
* Beauty filters and watermarks
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,3 @@
/**
* TRTC 背景音乐和混响设置
*
* 参考此模块中的方法调用,可以设置进房后主播的背景音乐效果,和人声混响效果,包括:
* - startPlayBgmMusic :开始播放背景音乐
* - stopPlayBgmMusic :停止播放背景音乐
* - pausePlayBgmMusic :暂停播放背景音乐
* - resumePlayBgmMusic :恢复播放背景音乐
* - setVoiceReverbType :设置人声混响效果(KTV、小房间、大会堂、低沉、洪亮...)
* - setMusicPublishVolume :设置背景音乐的远端音量大小, 即主播可以通过此接口设置远端观众能听到的背景音乐的音量大小。
* - setMusicPlayoutVolume :设置背景音乐的本地音量大小,即主播可以通过此接口设置主播自己本地的背景音乐的音量大小。
* - setAllMusicVolume :设置全局背景音乐的本地和远端音量的大小
* - setMusicPitch :调整背景音乐的音调高低
* - setMusicSpeedRate :调整背景音乐的变速效果
* - setVoiceCaptureVolume :设置麦克风采集人声的音量
*/

/**
* Background music and reverb effects
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,4 @@
/**
* TRTC CDN播放器,直播播放器SDK的封装,可以播放转推腾讯云的CDN流
*
* - 播放器参考:https://cloud.tencent.com/document/product/454/34775
* -
* - 只有在您已经开通了直播服务并配置了播放域名的情况下,才能通过 CDN
* 正常观看这条直播流。
* - 获取可以转推成功,并在线播放的CDN地址,可参考:
* - 1. 实现CDN直播观看:https://cloud.tencent.com/document/product/647/16826
* - 2. 添加自有域名:https://cloud.tencent.com/document/product/267/20381
*/

/**
* CDN player, which is based on the live player SDK and can play CDN streams
* relayed to Tencent Cloud
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,3 @@
/**
* TRTC CDN发布模块
*
* 参考此模块中的方法调用,可以设置将当前进房推流转推到腾讯云CDN服务器:
* - startPublishing : 开始向腾讯云的直播 CDN 推流:
* - 如果需要推流功能,需要先在实时音视频 控制台 中的功能配置页开启“启用旁路推流”才能生效。
* - 如果控制台中选择“指定流旁路”:则可以通过显式调用startPublishing启动推流,流ID为参数指定的流ID
* - 如果控制台中选择“全局自动旁路”:则无需调用startPublishing也会在进房后自动推流,流ID可以通过
* - enterRoom的streamId字段设置,调用startPublishing接口的作用则是,可以通过调用改变流ID,
* - 注意自动旁路不支持通过stopPublishing停止推流
* -
* - stopPublishing : 停止推流,如上所述,在启动全局自动旁路时,此接口不生效
* -
* - 注意:onStartPublishing()仅作为本地接口调用的成功状态通知,不作为云端推流成功的状态参考
* - 注意:在启动全局自动旁路时,调用stopPublishing会通过onStopPublish回调错误码"-102069"
*/

/**
* CDN publishing
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,3 @@
/**
* TRTC 跨房通话(主播PK)
*
* TRTC 中两个不同音视频房间中的主播,可以通过“跨房通话”功能拉通连麦通话功能。使用此功能时, 两个主播无需退出各自原来的直播间即可进行“连麦 PK”。
* - 例如:当房间“001”中的主播 A 通过 connectOtherRoom() 跟房间“002”中的主播 B 拉通跨房通话后, 房间“001”中的用户都会收到主播 B 的 onUserEnter(B) 回调和 onUserVideoAvailable(B,true) 回调。 房间“002”中的用户都会收到主播 A 的 onUserEnter(A) 回调和 onUserVideoAvailable(A,true) 回调。
* - 调用方式参见connectOtherRoom()/disconnectOtherRoom()
*/

/**
* Cross-room call (anchor competition)
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,3 @@
/**
* TRTC 自定义采集模块,演示如何自定义采集音频/视频上行
*
* - 核心用法即需要用 sendCustomVideoData() /sendCustomAudioData() 不断地向 SDK 塞入自己采集的视频/音频画面。
* -
* - 音频采集 : 参考startCustomAudioData()/stopCustomAudioData()
* - 视频采集 : 参考startCustomVideoData()/stopCustomVideoData()
* - 具体API说明可参见:https://liteav.sdk.qcloud.com/doc/api/zh-cn/group__ITRTCCloud__cplusplus.html#aeeff994b8a298fa4948a11225312f629
*/

/**
* Custom capturing, i.e., capturing custom audio/video to send to the cloud
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,3 @@
/**
* TRTC 自定义消息发送模块,
*
* - 两种消息发送方式:
* - 1. 借助音视频数据传输通道向当前房间里的其他用户广播您自定义的数据
* - 2. 将小数据量的自定义数据嵌入视频帧中,即使视频帧被旁路到了直播 CDN 上,这些数据也会一直存在,最常见的用法是把自定义的时间戳(timstamp)用 sendSEIMsg 嵌入视频帧中,这种方案的最大好处就是可以实现消息和画面的完美对齐。
* -
* - 音视频数据通道发送消息 : 参考sendCustomMessage()
* - 视频帧介质发送消息 : 参考sendSEIMessage()
* - 具体API说明可参见:https://liteav.sdk.qcloud.com/doc/api/zh-cn/group__ITRTCCloud__cplusplus.html#a858b11d4d32ee0fd69b42d64a1d65389
*/

/**
* Custom message sending
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,3 @@
/**
* TRTC 视频自定义渲染,即不依赖TRTC库的默认渲染能力,接收视频数据,自定义渲染
*
* - 核心方法调用:setLocalVideoRenderCallback()/setRemoteVideoRenderCallback(),通过设置回调接收SDK接收到的本地/远程数据,进行自定义的渲染操作
* -
* - 调用方法参考 :
* - startLocalVideoRender() / stopLocalVideoRender()
* - startRemoteVideoRender() / stopRemoteVideoRender()
* -
* - 具体API说明可参见:https://liteav.sdk.qcloud.com/doc/api/zh-cn/group__ITRTCCloud__cplusplus.html#ad64031e060146f7985263aad994fc733
*/

/**
* Custom video rendering, i.e., receiving video data and rendering it by yourself instead of using the default rendering capability of the TRTC library
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,3 @@
/**
* TRTC 设备管理
*
* - 需要通过getDeviceManager()获取ITXDeviceManager实例,获取当前设备列表,设置当前使用设备
* - 获取当前视频采集设备/麦克风/扬声器设备列表的调用方式参考:
* - refreshMicDevices()
* - refreshCameraDevices()
* - refreshSpeakerDevices()
* -
* - 设置当前使用设备:
* - setCurrentDevice(); API文档参见:https://liteav.sdk.qcloud.com/doc/api/zh-cn/group__ITXDeviceManager__cplusplus.html#abedb16669f004919730e9c027b71808c
*/

/**
* Device management
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,3 @@
/**
* TRTC Log 相关接口函数示例
*
* 1.setLogLevel :设置 Log 输出级别
* 2.setConsoleEnabled :启用或禁用控制台日志打印
* 3.setLogCompressEnabled :启用或禁用 Log 的本地压缩
* 4.setLogDirPath :设置日志保存路径
* 5.onLog :日志打印时的回调
*/

/**
* Logs
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,12 +195,12 @@ void TestMixStreamPublish::startManualTemplate() {
mix_users_array[0].rect.left = 0;
mix_users_array[0].rect.top = 0;
if (background_imag_.empty()) {
// 没有背景图片时,本地视频铺满屏幕
// Local video fills the screen without no background image
mix_users_array[0].rect.right = video_width_;
mix_users_array[0].rect.bottom = video_height_;
}
else {
// 有背景图片时,留点空间显示背景图片
// Display the background image
mix_users_array[0].rect.right = video_width_ / 2;
mix_users_array[0].rect.bottom = video_height_ / 2;
}
Expand Down
Loading