# 视频流
VideoOutput
元素不仅限于与MediaPlayer
元素结合使用。它还可以与各种视频源一起使用以显示视频流。
例如,可以使用VideoOutput
来显示用户Camera
的实时视频流。为此,将把它与两个组件结合起来:Camera
和CaptureSession
。
import QtQuick
import QtMultimedia
Window {
width: 1024
height: 768
visible: true
CaptureSession {
id: captureSession
camera: Camera {}
videoOutput: output
}
VideoOutput {
id: output
anchors.fill: parent
}
Component.onCompleted: captureSession.camera.start()
}
CaptureSession
组件提供了一种读取摄像机流、捕获静止图像或录制视频的简单方法。
作为MediaPlayer
组件,CaptureSession
元素提供了videoOutput
属性。因此可以使用这个属性来配置自己的可视化组件。
最后,当应用程序加载完毕后,就可以开始摄像了:
Component.onCompleted: captureSession.camera.start()
提示
根据操作系统,此应用程序可能需要敏感信息类的访问权限。 如果使用qml
二进制文件运行此示例应用程序,将自动请求这些权限。
但是,如果将其作为独立程序运行,可能需要首先请求这些权限(例如:在MacOS下,需要一个与应用程序捆绑在一起的专用.plist文件)。