补充 Multimedia 组件的使用和说明。
Signed-off-by: rick.chan <cy@haoan119.com>
This commit is contained in:
parent
8af901e371
commit
8227f21761
|
@ -43,6 +43,8 @@ published: true
|
|||
- [8.7. GridView](#87-gridview)
|
||||
- [8.8. BusyIndicator](#88-busyindicator)
|
||||
- [8.9. VirtualKeyboard](#89-virtualkeyboard)
|
||||
- [8.10. Multimedia](#810-multimedia)
|
||||
- [8.10.1. VideoOutput 和 MediaPlayer](#8101-videooutput-和-mediaplayer)
|
||||
- [9. 多文档开发](#9-多文档开发)
|
||||
- [9.1. 多 QML 文件的管理](#91-多-qml-文件的管理)
|
||||
- [9.2. 如何引用自定义 QML 文件](#92-如何引用自定义-qml-文件)
|
||||
|
@ -745,6 +747,42 @@ CONFIG+="lang-en_GB lang-zh_CN"
|
|||
|
||||
更多关于 VirtualKeyboard 的应用可以参考官方自带示例。
|
||||
|
||||
### 8.10. Multimedia
|
||||
|
||||
需要引入:
|
||||
|
||||
```js
|
||||
import QtMultimedia x.xx
|
||||
```
|
||||
|
||||
主要包含音视频的输入、处理和输出,如:Video、Audio、Camera、VideoOutput、MediaPlayer、SoundEffect 等。
|
||||
|
||||
#### 8.10.1. VideoOutput 和 MediaPlayer
|
||||
|
||||
Qt 只是提供了便捷易用的接口,实际的编解码功能由后端实现。 Qt5 Linux 下视频后端为 GStreamer,Win 下为 DirectShow,建议使用 [LAVFilters](https://github.com/Nevcairiel/LAVFilters)(ffmpeg based DirectShow Splitter and Decoders)。Qt6 在 Linux 下好像增加了对 ffmpeg 的支持。
|
||||
|
||||
在使用 VideoOutput 和 MediaPlayer 时,有些时候程序编写正确,跑起来也没提示什么错误,但就是不播视频,显示黑屏且没有声音,此时很可能是后端没有安装或安装错误导致。
|
||||
|
||||
VideoOutput 和 MediaPlayer 的使用非常简单,MediaPlayer 作为播放器 VideoOutput 作为输出显示,二者配合工作:
|
||||
|
||||
```js
|
||||
MediaPlayer {
|
||||
id: player
|
||||
source: "file:./SampleVideo.mp4"
|
||||
autoPlay: true
|
||||
}
|
||||
|
||||
VideoOutput {
|
||||
id: videoOutput
|
||||
source: player
|
||||
anchors.fill: parent
|
||||
}
|
||||
```
|
||||
|
||||
值得注意的是,MediaPlayer 的 source 路径格式,必须是以“file:”开头的本地文件格式(不支持 qrc 资源文件路径)。示例里使用了相对路径,也可以使用绝对路径(如 Win 下:file://C:\\\path\\\to\\\SampleVideo.mp4,或 Linux 下: file:///path/to/SampleVideo.mp4)。在使用相对路径时需注意这个路径是相对 Qt 的调试目录而言。
|
||||
|
||||
目前不清楚能否使用网络 URL 格式路径。
|
||||
|
||||
## 9. 多文档开发
|
||||
|
||||
### 9.1. 多 QML 文件的管理
|
||||
|
|
Loading…
Reference in New Issue