2014-10-30 5 views
8

전 완전히 Qt 모바일을 처음 접했고, 단단한 모바일 개발자 경험이 없기 때문에 미안하지만 분명히 묻고 싶습니다.Qt 모바일 화상 통화 스트리밍

기능과 같은 전화를받을 수있는 모바일 앱을 개발해야합니다 (GSM 전화가 아닌 인터넷을 통해). 응답을 받으면 서버에서 오디오 및 비디오 스트리밍을 시작해야합니다. 호출은 한 방향으로 만 수행되어야합니다. 즉, 스트림이 서버에서 장치로 이동하지만 결코 장치에서 서버로 이동하지 않아야합니다.

그래서 제 질문은 다음과 같습니다

  1. 는 Qt를이 가능합니까? 필자는 Qt를 잘 알고 있기 때문에 데스크톱, 안드로이드 및 iOS를 지원하고 싶습니다. 어쩌면 창 전화 나중에.
  2. 화면이 닫히고 앱이 실행되지 않을 때 전화를받을 수 있습니까? 내 말은, 이것은 모바일 장치이며, 앱은 항상 실행되지 않을 것이며, 서버에서 장치로 전화가 걸릴 때만 시작되어야한다는 것을 의미합니다. 어떻게하면 될까요? 나는 Viber, Skype 및 다른 메시징 응용 프로그램이 그렇게한다고 생각합니다. 사전에

많은 감사 :)

+0

필자는 당신이 Skype를 다시 쓰겠다고 생각하고 있지만 대답을보기를 열망하고 있다고 생각합니다. –

+0

아니, Skype에서 작은 부분. 나는 경험있는 사람들로부터보고 추천할만한 가이드가 필요합니다. – Davita

+2

큰 질문입니다. 나는 대답을 기다릴 수 없습니다! –

답변

4

1 - 음, 확실 할 수도 있지만, 원하는대로 쉽지 않을 수도 있습니다.Qt Multimedia는 필요한 클래스를 제공하지만 대상 플랫폼에서 어떻게 지원되는지 확인해야합니다.

그러나 Qt가 제공하는 클래스는 용도가 지나치게 높지만 용도가 너무 낮거나 수준이 너무 낮아 거의 모든 것을 손으로 구현해야합니다. 이 측면에서 Qt가 휴대용 앱을 제작할 수 있다는 이점은 비디오 스트리밍을 제공하는 플랫폼 특정 라이브러리를 쉽게 사용할 수 있다는 것보다 중요합니다. 즉, Android 및 iOS 라이브러리를 사용하여 별도의 Android 및 iOS 앱을 작성하는 것이 더 간단 할 수 있습니다. 둘 다 작동하는 단일 Qt 앱보다 쉽습니다.

하지만 Qt를 사용하기로 결정한 경우에 한동안 언급했듯이 대부분의 작업을 직접 수행하십시오. 즉, QAudioRecorder을 사용하여 오디오를 녹음하고 주어진 길이의 버퍼에있는 QCamera의 프레임을 주기적으로 캡처하고 해당 데이터를 압축 한 다음 (보안이 중요하면 암호화하는 것이 가장 바람직 함) QTcpSocket 연결을 통해 클라이언트에 보내고 압축 해제합니다 해독)하고 동기화하여 다시 재생할 수 있습니다. 분명히 할 수 있지만 이미 언급했듯이 안드로이드와 iOS 라이브러리는 "즉시 사용할 수있는"솔루션을 제공하기 때문에 훨씬 더 어려울 것입니다. 또는 대상으로하는 모든 플랫폼을 지원하는 타사 솔루션을 사용하기로 결정할 수도 있습니다.

2 - 화면이 켜져 있든 꺼져 있든 상관없이 플랫폼 별 API에 대한 호출이므로 일정 기간 동안 켜거나 계속 유지하도록 요청할 수 있습니다. 앱이 기기에서 실행 중인지 여부에 관계없이 쉽습니다. 기기에서 클라이언트와의 TCP 연결을 시도한 다음 클라이언트가 실행되면 성공한 것입니다. 앱이 실행되고 있지 않을 때 전화를 받으려면 항상 실행되는 플랫폼 전용 서비스를 구현하고 전화가 수신되면 애플리케이션을 시작해야합니다.

3

Qt는 모바일 그러나 당신은 당신이 사용하려는 각 플랫폼에 대한 몇 가지 기본 코드를 작성해야합니다, 응용 프로그램의 UI에 도움이 될 것입니다. Qt가 빠르게 확장되고 있으므로 Qt의 차후 버전에서 플랫폼 별 네이티브 코드로 손을 더럽 히지 않아도됩니다.

예, 백그라운드 서비스를 만들어 애플리케이션을 종료하면 VoIP 전화를받을 수 있습니다. (하지만 지금까지 Qt가 그 일을하지 않았다면 기본적으로 처리해야합니다.) Skype와 Viber가 작동하는 방식입니다. http://doc-snapshot.qt-project.org/qt-mobility/

당신은 여러 가지의 좋은 이해를 요구하는 것입니다 기본적으로의 앱의 VoIP 프레임 워크를 (만들 수 있습니다 : 당신이 기준에서 볼 수

4

QT 이동성의 VoIP를 지원하는 AA 프레임 워크를 가지고 있지 않습니다 오디오 및 비디오 프레임 워크 사용 가능)하지만 갈 수있는 또 다른 방법은 같은 Twilio 모바일 클라이언트 내가 개발에 qt을 사용하여 새 Blackberry10 OS를 알고 당으로 https://www.twilio.com/client/mobile

1

로 iOS 및 안드로이드 모두 지원하는의 VoIP SDK를 사용하는 것입니다. VoiP에 대한 유용한 소스 코드가 있습니다. 화상 통화에 대해 아직도 검색 중입니다. 아래 링크

확인, 나는 qt 언어를 사용하여 Android, ios, desktop에서 응용 프로그램을 개발하는 방법을 모르는

(2) PjSip Blog

1) Blackberry Developer Blog

도움이

(3)Download Source Code

수 있음.

하지만 Qt 대신 모든 모국어로 앱을 개발할 것을 제안합니다.

+0

"링크 전용 답변"이외에도 제안은 이해가되지 않습니다. Qt는 Android에서 Java보다 빠르며 빠르며 기본 인 C++ 코드입니다. – dtech

+1

또한'qt'는 언어가 아닙니다 ... – dtech