2
웹캠을 재생할 때 WebRTC를 사용합니다 (화상 통화 전에 내 응용 프로그램에서 웹캠을 테스트하기위한 것입니다). - 웹캠의 재생이 시작하지만 videoWidget
창 빈 검은 색WebRTC Qt로 웹캠 재생
////////////////////////
//initialization
{
webrtc::VoiceEngine* voe = VoiceEngine::Create();
webrtc::VoEBase* voeBase = VoEBase::GetInterface(voe);
voeBase->Init();
webrtc::VideoEngine* vie = VideoEngine::Create();
webrtc::ViEBase* vieBase = ViEBase::GetInterface(vie);
vieBase->Init();
webrtc::ViECapture* vieCapture = ViECapture::GetInterface(vie);
}
////////////////////////
// start webcam playing
void MainWindow::StartWebcamTest()
{
// creating window for playing webcam video
videoWidget = new Phonon::VideoWidget();
videoWidget->setFixedSize(640, 480);
videoWidget->setWindowTitle("Test Webcam");
char captDevName[1024], captGuidName[1024];
VoEEngineSingleton::Instance()->GetViECapture()->GetCaptureDevice(0, captDevName, 1024, captGuidName, 1024);
VoEEngineSingleton::Instance()->GetViECapture()->AllocateCaptureDevice(captGuidName, 1024, captureID);
testVideoChannel = VoEEngineSingleton::Instance()->GetViEBase()->CreateChannel(testVideoChannel);
if(testVideoChannel == -1)
LOGERR << "Creating video channel error: " << VoEEngineSingleton::Instance()->GetViEBase()->LastError() << endl;
else LOGDEBUG << "Video channel created, ID = " << testVideoChannel << endl;
testAudioChannel = VoEEngineSingleton::Instance()->GetVoEBase()->CreateChannel();
if(testAudioChannel == -1)
LOGERR << "Creating audio channel error: " << VoEEngineSingleton::Instance()->GetVoEBase()->LastError() << endl;
else LOGDEBUG << "Audio channel created, ID = " << testAudioChannel << endl;
if(VoEEngineSingleton::Instance()->GetViEBase()->ConnectAudioChannel(testVideoChannel, testAudioChannel) != 0)
LOGERR << "ConnectAudioChannel() error: " << VoEEngineSingleton::Instance()->GetViEBase()->LastError() << endl;
else LOGINFO << "Audio channel connected successful " << endl;
if(VoEEngineSingleton::Instance()->GetViECapture()->ConnectCaptureDevice(captureID, testVideoChannel) != 0)
LOGERR << "ConnectCaptureDevice() error: " << VoEEngineSingleton::Instance()->GetViEBase()->LastError() << endl;
else LOGINFO << "Capture device connected successful " << endl;
if(VoEEngineSingleton::Instance()->GetViERender()->StartRender(testVideoChannel) != 0)
LOGERR << "StartRender() error: " << VoEEngineSingleton::Instance()->GetViEBase()->LastError() << endl;
else LOGINFO "StartRender() successed " << endl;
if(VoEEngineSingleton::Instance()->GetViECapture()->StartCapture(captureID) != 0)
LOGERR << "StartCapture() error: " << VoEEngineSingleton::Instance()->GetViEBase()->LastError() << endl;
else LOGINFO << "StartCapture() successed " << endl;
videoWidget->show();
}
것은 내가 비디오를 재생하기 위해 버튼을 클릭 나는이 다음 몇 가지의 WebRTC 기능을한다.
내가 진실이 아닌 것은 무엇입니까? 어쩌면 다른 Qt 위젯을 사용해야할까요?