多媒体(音乐、视频播放器,相机)

时间:2021-07-04 03:21:08

  1、音乐、视频
  QMediaPlayer是多媒体核心类,可以播放音乐、视频。要使用MediaPlayer,需要引入QtMultimedia 5.0或以上版本。另外在pro文件中需要添加QT += multimedia
  音乐播放用MediaPlayer足以满足需求,但是视频需要VedioOutput元素和MediaPlayer结合,这个VideoOutput用来渲染视频,也可以作为相机的取景器(预览窗口)。

  多媒体元信息:就是描述媒体的信息,包括歌曲的专辑、发行时间、艺术家,或者视频的分辨率、编码格式以及针率等。关于这方面的信息,可以通过MediaPlayer的metaData来获取。虽然这属性提供了丰富的信息,但是要取决于MediaPlayer使用的底层播放服务能否提供这些

  2、相机
  QCamera有诸多属性,我们先来看看常用的属性
  digitalZoom 配置数字变焦
  maximumDigitalZoom保存了相机支持的最大数字变焦倍数,如果是1.0则说明不支持数字变焦
  opticalZoom 配置光学变焦倍数
  maximumOpticalZoom保存相机支持的最大光学变焦倍数,1.0表示不支持光学变焦
  captureMode枚举三种值:Camera.CaptureVideo(录制视频)、Camera.CaptureViewfinder(仅预览)、
  Camera.CaptureStillImage(捕获静态图片)三种模式
  CameraFocus类
    focus 控制聚焦和变焦的模式
    focusMode 是个枚举值,代表多种聚焦模式。比如Camera.ManualFocus代表手动聚焦、Camera.AutoFocus代表自动聚焦、Camera.MacroFocus微距聚焦,等等
    CameraFocus的isFocusModeSupported(mode) 用来查询物理设备是否支持制定的聚焦方式
    focusPointMode定义焦点模式,分别对应四种枚举值。Camera.FocusPointAuto(自动焦点)Camera.FocusPointCenter(中心焦点)、Camera.FocusPointFaceDetection(面部识别)
    Camera.FocusPointCustom(自定义焦点,使用customFocusPoint属性指定的点作为焦点)。isFocusPointModeSupported(mode)用来判断硬件是否支持该模式

  CameraExposure类
  这个类用来控制相机的曝光选项,可以通过Camera的exposure属性完成相关设置
  exposureMode 枚举了多个曝光选项,有Camera.ExposureAuto(自动)、Camera.ExposureManual(手动),还有运动、大光圈(近景)、小光圈(远景)、背光、夜景、人物、海岸等等
  shutterSpeed 表示当前的快门速度
  iso表示感光系数,其中manualIso曹村手动设置的感光度。iso越大,感光越快、城乡就越模糊;反之,则成像细腻
  aperture表示光圈的大小, manualAperture表示手动设置光圈大小,而setAutoAperture()可以打开自动模式
  CameraFlash用来控制闪光的
    mode 枚举了多个闪光灯的选项值,包括Camera.FlashOff(关闭闪光灯)、Camera.FlashOn(打开闪光灯)、Camera.FlashAuto、Camera.FlashRedEyeReduction(去红眼)等等更多模式
  CameraImageProcessing
  imageProcessing对照片做一些处理,比如降噪、白平衡、锐化、对比度、饱和度等等。该属性的类型是CameraImageProcessing,详细用法可查此类
取景器
  上面说过,可以用VideoOutput作为相机的取景器,只需要将souce设置为camera对象即可,
  如下放的代码

  

Rectangle{
width:
960
height:
540

Camera{
id: camera
captureMode: Camera.CaptureStillImage
}

VideoOutput{
source: camera
anchors.fill: parent
}
}