dtkmultimedia
DTK Multimedia module
载入中...
搜索中...
未找到
dgstplayerproxy.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DGSTPLAYERPROXY_H
6#define DGSTPLAYERPROXY_H
7
8#include "dplayerbackend.h"
9#include <QMediaPlayer>
10
11DMULTIMEDIA_BEGIN_NAMESPACE
12class VideoSurface;
13class DGstPlayerProxyPrivate;
14
16{
17 Q_OBJECT
18 Q_DECLARE_PRIVATE(DGstPlayerProxy)
19
20public:
21 explicit DGstPlayerProxy(QObject *parent = 0);
22 virtual ~DGstPlayerProxy();
23 void firstInit() override;
24 void updateRoundClip(bool roundClip);
25 void setCurrentFrame(const QImage &img);
27 bool isPlayable() const override;
29 void pollingStartOfPlayback();
30 qint64 duration() const override;
31 qint64 elapsed() const override;
32 QSize videoSize() const override;
33 void setPlaySpeed(double dTimes) override;
34 void savePlaybackPosition() override;
35
36public slots:
37 void play() override;
38 void pauseResume() override;
39 void stop() override;
40 void seekForward(int nSecs) override;
41 void seekBackward(int nSecs) override;
42 void seekAbsolute(int nPos) override;
43 void volumeUp() override;
44 void volumeDown() override;
45 void changeVolume(int nVol) override;
46 int volume() const override;
47 bool muted() const override;
48 void toggleMute() override;
49 void setMute(bool bMute) override;
50 void updateSubStyle(const QString &font, int sz) override;
51 void setSubCodepage(const QString &cp) override;
52 QString subCodepage() override;
53 void addSubSearchPath(const QString &path) override;
54 bool loadSubtitle(const QFileInfo &fi) override;
55 void toggleSubtitle() override;
56 bool isSubVisible() override;
57 void selectSubtitle(int id) override;
58 void selectTrack(int id) override;
59 void setSubDelay(double secs) override;
60 double subDelay() const override;
61 int aid() const override;
62 int sid() const override;
63 void changeSoundMode(SoundMode) override;
64 void setVideoAspect(double r) override;
65 double videoAspect() const override;
66 int videoRotation() const override;
67 void setVideoRotation(int degree) override;
68 QImage takeScreenshot() const override;
69 void burstScreenshot() override;
70 void stopBurstScreenshot() override;
71 QVariant getProperty(const QString &) const override;
72 void setProperty(const QString &, const QVariant &) override;
73 void nextFrame() override;
74 void previousFrame() override;
75 void makeCurrent() override;
77
78protected slots:
79#if BUILD_Qt6
80 void slotStateChanged(QMediaPlayer::PlaybackState newState);
81#else
82 void slotStateChanged(QMediaPlayer::State newState);
83#endif
84 void slotMediaStatusChanged(QMediaPlayer::MediaStatus status);
85 void slotPositionChanged(qint64 position);
86 void slotMediaError(QMediaPlayer::Error error);
87
88protected:
89 QScopedPointer<DGstPlayerProxyPrivate> d_ptr;
90};
91
92DMULTIMEDIA_END_NAMESPACE
93
94#endif /* ifndef DGSTPLAYERPROXY_H */
DGstPlayerProxy类提供gstreamer播放功能的引擎类.
Definition dgstplayerproxy.h:16
void seekAbsolute(int nPos) override
seek播放媒体.
void nextFrame() override
媒体下一帧.
QString subCodepage() override
获取媒体Sub字幕编码页.
int volume() const override
获取媒体播放音量.
void pollingEndOfPlayback()
轮询直到播放结束.
void seekForward(int nSecs) override
向前seek播放媒体.
void selectTrack(int id) override
根据id选择音频轨道.
qint64 duration() const override
获取媒体时长.
void toggleSubtitle() override
设置是否显示Sub字幕.
void burstScreenshot() override
连拍截图,截图间隔时间为5秒.
void changeSoundMode(SoundMode) override
改变声音播放模式.
int videoRotation() const override
获取顺时针旋转视频角度.
void setProperty(const QString &, const QVariant &) override
设置播放属性.
void updateSubStyle(const QString &font, int sz) override
更新媒体播放文字显示样式.
void setCurrentFrame(const QImage &img)
设置当前帧的值.
void setVideoAspect(double r) override
设置媒体播放显示长宽比.
const PlayingMovieInfo & playingMovieInfo() override
获取当前播放媒体信息.
void setVideoRotation(int degree) override
设置顺时针旋转视频角度.
qint64 elapsed() const override
获取媒体已播放时长.
void setSubCodepage(const QString &cp) override
设置媒体Sub字幕编码页.
void firstInit() override
第一次打开播放器播放视频.
void stopBurstScreenshot() override
停止连拍截图.
void volumeUp() override
音量上升.
void seekBackward(int nSecs) override
向后seek播放媒体.
void pauseResume() override
暂停恢复播放媒体.
void play() override
播放媒体.
QSize videoSize() const override
获取媒体分辨率.
int sid() const override
获取Sub字幕id.
QImage takeScreenshot() const override
获取当前视频播放的截图.
void toggleMute() override
执行静音与取消操作.
void savePlaybackPosition() override
保存当前视频播放位置.
void selectSubtitle(int id) override
根据id选择加载媒体Sub字幕.
bool isPlayable() const override
当前媒体是否能够播放.
void changehwaccelMode(hwaccelMode hwaccelMode) override
改变硬件加速模式.
bool loadSubtitle(const QFileInfo &fi) override
加载媒体Sub字幕标题.
double videoAspect() const override
获取媒体播放显示长宽比.
void stop() override
停止播放媒体.
QVariant getProperty(const QString &) const override
根据参数获取播放设置参数属性.
void setPlaySpeed(double dTimes) override
设置媒体播放速度.
double subDelay() const override
获取Sub字幕延迟显示时间.
void setMute(bool bMute) override
设置静音与取消操作.
bool isSubVisible() override
Sub字幕是否显示.
void changeVolume(int nVol) override
音量改变.
void setSubDelay(double secs) override
设置Sub字幕延迟显示时间.
bool muted() const override
获取媒体播放是否静音.
void volumeDown() override
音量下降.
void previousFrame() override
媒体上一帧.
void addSubSearchPath(const QString &path) override
添加媒体Sub字幕路径.
int aid() const override
获取音轨id.
void makeCurrent() override
指定绘制设备.
void updateRoundClip(bool roundClip)
播放界面圆角显示.
DPlayerBackend类提供播放功能的引擎类.
Definition dplayerbackend.h:25
hwaccelMode
硬件加速
Definition dplayerbackend.h:50
SoundMode
声音模式
Definition dplayerbackend.h:45
Definition dplayerbackend.h:18