1 - Well, of course, it is possible, although it may not be as simple and simple as you would like. Qt Multimedia provides the necessary classes, but you need to check how they are supported on the platforms for which you need to configure.
However, the Qt classes provide either a level too high to serve any purpose, but their purpose or a level too low, so you must implement almost everything manually. In this aspect, the advantage of Qt, capable of creating portable applications, may not outweigh the ease of use of certain libraries of a particular platform that offer streaming video out of the box. In other words, it might be easier to write separate apps for Android and iOS using the Android and iOS libraries than a single Qt application that will work on both.
But just in case, when you decide to go with Qt, as I said, you are left with one option - do most of the work yourself. This means that you must record audio using QAudioRecorder and periodically take frames from QCamera in a buffer of a given length, compress this data (and preferably encrypt it if there is a security problem), send it to the client via a QTcpSocket connection, unpack (and decrypt) the data and play them in sync. This is certainly feasible, but, as already mentioned, it will be much more difficult, since the Android and iOS libraries offer almost "ready-made solutions". In addition, you may decide to use a third-party solution that supports all target platforms.
2 - your screen is on or off - this will be a call to the API on the platform, so please turn it on or save it for a specified duration. Regardless of whether your application works on the device or not, it's simple - just try the TCP connection with the client on the device, if it is successful, then the client will work. If you want to receive calls while your application is not running, you will have to implement a specific service platform that runs all the time and runs your application when you receive a call.
dtech
source share