Qt Multimedia on WebAssembly
This page covers the availability of Qt Multimedia features on WebAssembly.
Limitations
- Due to its asynchronous nature, some features such as getting a list of QMediaDevices may not be readily available and may take some time to request permissions and gather the list of devices. With Asyncify/JSPI enabled, device enumeration happens synchronously. Otherwise use the audioInputsChanged, audioOutputsChanged, and videoInputsChanged signals to react when devices become available.
- Camera and Microphone inputs require user permissions, and can only be used in a secure https context. Firefox may require permission to play video and audio.
- Using and selecting different Codecs/video formats is not currently supported. These in the browser are more like suggestions or a request, and may not return the selected codec.
- Playing data from a QIODevice (using
setSourceDevice(QIODevice*)): is partially supported for video (entire stream (file) is read into memory at once). Not supported for audio. Streaming from a web URL works. Real-time data input streaming is not supported. - Some advanced features such as spatial 3D audio and (Audio/Video)codecs are not currently supported.
- Files can be served from the/any web server, respective of CORS.
- Although possible, playing large files stored in the application file system or in a resource package are discouraged because of the limited size of the browser's file storage and memory constraints.
- Issues may exist when using the Firefox browser on any platform.