영상 통화 시작 전에 카메라, 마이크 등의 장치를 먼저 테스트 해볼 것을 권장합니다. 그렇지 않으면 사용자가 실제로 통화를 진행하는 동안 장치 문제를 발견하기 어렵습니다.
iOS | Android | Mac OS | Windows | Electron | web |
---|---|---|---|---|---|
× | × | ✓ | ✓ | ✓ | × |
TRTCCloud의 'startCameraDeviceTestInView' 인터페이스를 사용하여 카메라 테스트를 진행합니다. 테스트 과정 중 'setCurrentCameraDevice' 함수를 호출하여 카메라를 전환할 수 있습니다.
// 카메라 테스트 인터페이스 표시(카메라 미리보기, 카메라 전환 지원)
- (IBAction)startCameraTest:(id)sender {
// 카메라 테스트 시작, cameraPreview는 macOS의 NSView 또는 iOS 플랫폼의 UIView
[self.trtcCloud startCameraDeviceTestInView:self.cameraPreview];
}
//카메라 테스트 인터페이스 닫기
- (void)windowWillClose:(NSNotification *)notification{
// 카메라 테스트 종료
[self.trtcCloud stopCameraDeviceTest];
}
TRTCCloud의 startMicDeviceTest
함수를 이용하여 마이크 볼륨을 테스트할 수 있으며, 콜백 함수로 실시간 마이크 볼륨 값을 반환할 수 있습니다.
// 마이크 테스트 예시 코드
-(IBAction)micTest:(id)sender {
NSButton *btn = (NSButton *)sender;
if (btn.state == 1) {
//마이크 테스트 시작
__weak __typeof(self) wself = self;
[self.trtcCloud startMicDeviceTest:500 testEcho:^(NSInteger volume) {
dispatch_async(dispatch_get_main_queue(), ^{
// 마이크 볼륨 프로그레스 바 새로고침
[wself _updateInputVolume:volume];
});
}];
btn.title = @'테스트 종료';
}
else{
//마이크 테스트 종료
[self.trtcCloud stopMicDeviceTest];
[self _updateInputVolume:0];
btn.title = @'테스트 시작';
}
}
TRTCCloud의 startSpeakerDeviceTest
함수를 사용해 일부 기본 설정된 mp3 오디오를 재생하여 스피커가 정상 작동되는지 테스트합니다.
// 스피커 테스트 예시 코드
// NSButton의 클릭 이벤트를 예시로, xib에서 Button이 On 및 Off될 때 제목이 '테스트 종료', '테스트 시작'이 되도록 설정합니다.
- (IBAction)speakerTest:(NSButton *)btn {
NSString *path = [[NSBundle mainBundle] pathForResource:@'test-32000-mono' ofType:@'mp3'];
if (btn.state == NSControlStateValueOn) {
// '테스트 시작' 클릭
__weak __typeof(self) wself = self;
[self.trtcEngine startSpeakerDeviceTest:path onVolumeChanged:^(NSInteger volume, BOOL playFinished) {
// 다음의 UI 관련 작업은 main queue로 전환해 실행해야 합니다.
dispatch_async(dispatch_get_main_queue(), ^{
// 여기에서 _updateOutputVolume은 업데이트 페이지의 스피커 볼륨 지표입니다.
[wself _updateOutputVolume:volume];
if (playFinished) {
// 재생 완료 시 버튼 상태 '테스트 시작' 상태로 설정
sender.state = NSControlStateValueOff;
}
});
}];
} else {
// '테스트 종료' 클릭
[self.trtcEngine stopSpeakerDeviceTest];
[self _updateOutputVolume:0];
}
}
// 스피커 볼륨 측정기 업데이트
- (void)_updateOutputVolume:(NSInteger)volume {
// speakerVolumeMeter는 NSLevelIndicator임
self.speakerVolumeMeter.doubleValue = volume / 255.0 * 10;
}
문제 해결에 도움이 되었나요?