dtkmultimedia
DTK Multimedia module
载入中...
搜索中...
未找到
dengineplayer.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DENGINEPLAYER_H
6#define DENGINEPLAYER_H
7
8#include <DAudioOutput>
9#include <DPlatformMediaPlayer>
10#include <DPlayerBackend>
11#include <dtkmultimedia.h>
12DMULTIMEDIA_BEGIN_NAMESPACE
13class PlayerEngine;
15{
16 bool valid;
17 QString title;
18 QString fileType;
19 QString resolution;
20 QString filePath;
21 QString creation;
23 qint64 fileSize;
24 qint64 duration;
25 int width = -1;
26 int height = -1;
28 qint64 vCodeRate;
29 int fps;
32 qint64 aCodeRate;
33 int aDigit;
36#ifdef _MOVIE_USE_
37 QString strFmtName;
38#endif
39};
47class DEnginePlayerPrivate;
48class Q_MULTIMEDIA_EXPORT DEnginePlayer : public DPlatformMediaPlayer
49{
50 Q_OBJECT
51 Q_DECLARE_PRIVATE(DEnginePlayer)
52
53public:
54 DEnginePlayer(QMediaPlayer *parent = nullptr);
56 virtual qint64 duration() const;
57 virtual qint64 position() const;
58 virtual void setPosition(qint64 position);
59 virtual float bufferProgress() const;
60 virtual QMediaTimeRange availablePlaybackRanges() const;
61 virtual qreal playbackRate() const;
62 virtual void setPlaybackRate(qreal rate);
63 virtual QUrl media() const;
64 virtual const QIODevice *mediaStream() const;
65 virtual void setMedia(const QUrl &media, QIODevice *stream);
66 virtual void setVolume(float volume);
67 virtual void setMuted(bool muted);
68 virtual void play();
69 virtual void pause();
70 virtual void stop();
71 virtual void setVideoSink(DVideoSink * /*sink*/);
72 virtual void setPlayer(QWidget *Player);
73 void setPlaySpeed(double times);
75 void nextFrame();
80 void setVideoRotation(int degree);
81 void changeVolume(int val);
82 void setMute(bool bMute);
83 void seekAbsolute(int pos);
84 void setPlayMode(const PlayMode &pm);
86 void playByName(const QUrl &url);
87 bool loadSubtitle(const QFileInfo &fi);
88 bool addPlayFile(const QUrl &url);
89 const struct MovieInfo &movieInfo();
91
92public slots:
94
95protected:
96 QScopedPointer<DEnginePlayerPrivate> d_ptr;
97};
98DMULTIMEDIA_END_NAMESPACE
99
100#endif
DAudioOutput类提供音频相关信息.
Definition daudioout.h:38
DEnginePlayer类为播放界面操作类.
Definition dengineplayer.h:49
DAudioOutput * audioOut()
获取媒体音频输出对象.
virtual qreal playbackRate() const
纯虚函数-获取媒体播放速度.
const struct MovieInfo & movieInfo()
获取媒体信息.
void changeVolume(int val)
改变音量值.
bool addPlayFile(const QUrl &url)
添加媒体播放文件.
virtual qint64 duration() const
获取媒体时长.
void positionProxyChanged()
信号槽-媒体播放位置改变.
void setPlayMode(const PlayMode &pm)
设置媒体播放模式.
virtual void setMedia(const QUrl &media, QIODevice *stream)
设置媒体对应设备与地址.
void setVideoRotation(int degree)
设置顺时针旋转视频角度.
virtual void pause()
暂停媒体.
virtual void setVideoSink(DVideoSink *)
设置视频链路.
QImage takeScreenshot()
获取当前视频播放的截图.
virtual void setPlaybackRate(qreal rate)
设置媒体播放速度.
virtual void setPlayer(QWidget *Player)
设置播放界面工具类.
virtual void setMuted(bool muted)
设置媒体播放是否静音.
void changeSoundMode(const DPlayerBackend::SoundMode &sm)
改变声音输出声道模式.
void setDecodeModel(const DPlayerBackend::hwaccelMode &hwaccelMode)
设置解码方式.
bool loadSubtitle(const QFileInfo &fi)
加载sub字幕标题.
void previousFrame()
上一帧.
virtual void setPosition(qint64 position)
设置媒体播放位置.
virtual QMediaTimeRange availablePlaybackRanges() const
获取媒体播放范围是否可用.
virtual void stop()
停止媒体.
virtual QUrl media() const
获取媒体url地址.
virtual void setVolume(float volume)
设置媒体播放音量.
virtual float bufferProgress() const
设置媒体缓冲进度.
void playByName(const QUrl &url)
播放媒体根据媒体地址.
void burstScreenshot()
连拍截图,截图间隔时间为5秒.
void setMute(bool bMute)
设置媒体播放是否静音.
virtual const QIODevice * mediaStream() const
获取媒体对应设备.
PlayMode playMode() const
获取媒体播放模式.
virtual void play()
播放媒体.
virtual qint64 position() const
获取媒体已播放时长.
void seekAbsolute(int pos)
设置媒体播放seek位置值.
DPlatformMediaPlayer类提供播放界面操作接口类.
Definition dplatformmediaplayer.h:23
hwaccelMode
硬件加速
Definition dplayerbackend.h:50
SoundMode
声音模式
Definition dplayerbackend.h:45
Definition dplatformmediaplayer.h:18
PlayMode
播放模式
Definition dengineplayer.h:40
@ ListLoop
Definition dengineplayer.h:45
@ SinglePlay
Definition dengineplayer.h:43
@ SingleLoop
Definition dengineplayer.h:44
@ ShufflePlay
Definition dengineplayer.h:42
@ OrderPlay
Definition dengineplayer.h:41
媒体信息
Definition dengineplayer.h:15
QString title
Definition dengineplayer.h:17
QString filePath
Definition dengineplayer.h:20
QString creation
Definition dengineplayer.h:21
float proportion
Definition dengineplayer.h:30
bool valid
Definition dengineplayer.h:16
int rawRotate
Definition dengineplayer.h:22
qint64 aCodeRate
Definition dengineplayer.h:32
QString resolution
Definition dengineplayer.h:19
QString fileType
Definition dengineplayer.h:18
qint64 fileSize
Definition dengineplayer.h:23
int fps
Definition dengineplayer.h:29
qint64 vCodeRate
Definition dengineplayer.h:28
int aCodeID
Definition dengineplayer.h:31
int aDigit
Definition dengineplayer.h:33
int channels
Definition dengineplayer.h:34
int sampling
Definition dengineplayer.h:35
int vCodecID
Definition dengineplayer.h:27
qint64 duration
Definition dengineplayer.h:24