제품 업데이트
Tencent Cloud 오디오/비디오 단말 SDK 재생 업그레이드 및 권한 부여 인증 추가
TRTC 월간 구독 패키지 출시 관련 안내
iOS | Android | Mac OS | Windows | Electron | Chrome 브라우저 |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
TRTCVideoEncParam을 전송하면 됩니다. 이 매개변수는 nil로 설정할 수 있으며, 이때 SDK는 화면 공유 전에 설정된 인코딩 매개변수를 사용합니다.매개변수 항목 | 매개변수 이름 | 일반 권장 값 | 텍스트 교육 시나리오 |
해상도 | videoResolution | 1280 × 720 | 1920 × 1080 |
프레임 레이트 | videoFps | 10 FPS | 8 FPS |
최대 비트 레이트 | videoBitrate | 1600 kbps | 2000 kbps |
해상도 어댑티브 | enableAdjustRes | NO | NO |
TXLiteAVSDK_ReplayKitExt.framework를 통합합니다.


Target 이름.entitlements라는 파일이 생성됩니다. 다음 이미지와 같이 해당 파일을 선택한 후 + 버튼을 클릭하여 상기 App Group을 입력하면 됩니다.

#import "SampleHandler.h"@import TXLiteAVSDK_ReplayKitExt;#define APPGROUP @"group.com.tencent.liteav.RPLiveStreamShare"@interface SampleHandler() <TXReplayKitExtDelegate>@end@implementation SampleHandler// 주의사항: 해당 단계의 APPGROUP을 앞서 생성한 App Group Identifier로 변경해야 합니다.- (void)broadcastStartedWithSetupInfo:(NSDictionary<NSString *,NSObject *> *)setupInfo {[[TXReplayKitExt sharedInstance] setupWithAppGroup:APPGROUP delegate:self];}- (void)broadcastPaused {// User has requested to pause the broadcast. Samples will stop being delivered.}- (void)broadcastResumed {// User has requested to resume the broadcast. Samples delivery will resume.}- (void)broadcastFinished {[[TXReplayKitExt sharedInstance] finishBroadcast];// User has requested to finish the broadcast.}#pragma mark - TXReplayKitExtDelegate- (void)broadcastFinished:(TXReplayKitExt *)broadcast reason:(TXReplayKitExtReason)reason{NSString *tip = @"";switch (reason) {case TXReplayKitExtReasonRequestedByMain:tip = @"화면 공유 종료됨";break;case TXReplayKitExtReasonDisconnected:tip = @"애플리케이션 종료";break;case TXReplayKitExtReasonVersionMismatch:tip = @"통합 오류(SDK 버전 불일치)";break;}NSError *error = [NSError errorWithDomain:NSStringFromClass(self.class)code:0userInfo:@{NSLocalizedFailureReasonErrorKey:tip}];[self finishBroadcastWithError:error];}- (void)processSampleBuffer:(CMSampleBufferRef)sampleBuffer withType:(RPSampleBufferType)sampleBufferType {switch (sampleBufferType) {case RPSampleBufferTypeVideo:[[TXReplayKitExt sharedInstance] sendVideoSampleBuffer:sampleBuffer];break;case RPSampleBufferTypeAudioApp:// Handle audio sample buffer for app audiobreak;case RPSampleBufferTypeAudioMic:// Handle audio sample buffer for mic audiobreak;default:break;}}@end
// 화면 공유를 시작하려면 APPGROUP을 앞서 생성한 App Group Identifier로 변경해야 합니다.- (void)startScreenCapture {TRTCVideoEncParam *videoEncConfig = [[TRTCVideoEncParam alloc] init];videoEncConfig.videoResolution = TRTCVideoResolution_1280_720;videoEncConfig.videoFps = 10;videoEncConfig.videoBitrate = 2000;//APPGROUP을 앞서 생성한 App Group Identifier로 변경해야 합니다.[[TRTCCloud sharedInstance] startScreenCaptureByReplaykit:videoEncConfigappGroup:APPGROUP];}// 화면 공유를 종료합니다.- (void)stopScreenCapture {[[TRTCCloud sharedInstance] stopScreenCapture];}// 화면 공유 실행 이벤트 공지는 TRTCCloudDelegate를 통해 수신할 수 있습니다.- (void)onScreenCaptureStarted {[self showTip:@"화면 공유 시작"];}
TRTCBroadcastExtensionLauncher의 launch 함수를 호출하면 화면 공유 기능을 호출할 수 있습니다.// 사용자 정의 버튼 응답 방법- (IBAction)onScreenButtonTapped:(id)sender {[TRTCBroadcastExtensionLauncher launch];}
RPSystemBroadcastPickerView를 추가하여 애플리케이션에서 런처를 팝업할 수 있도록 함으로써 사용자가 화면 공유 여부를 확인할 수 있도록 했습니다. RPSystemBroadcastPickerView는 아직까지 사용자 정의 인터페이스를 지원하지 않고 있으며 공식적인 호출 방법도 없습니다.RPSystemBroadcastPickerView의 하위 View를 순회하여, UIButton을 찾고 클릭 이벤트를 트리거하는 방식입니다.피드백