Vagyojaka 5.5.7
Loading...
Searching...
No Matches
mediaplayer.h
Go to the documentation of this file.
1#pragma once
2
3#include <QWidget>
4#include <QMediaPlayer>
5#include <QFileDialog>
6#include <QStandardPaths>
7#include <QTime>
8#include <QSettings>
9
10//New Include
11#include <QAudioOutput>
12#include<QBuffer>
13#include"fftw3.h"
14#include"qcustomplot.h"
15#include<QProcess>
16#include<QAudioFormat>
17#include<QAudioDecoder>
18#include <QFileInfo>
19#include <QDebug>
20extern "C" {
21#include <libavformat/avformat.h>
22#include <libavcodec/avcodec.h>
23#include <libavutil/opt.h>
24#include <libavutil/samplefmt.h>
25#include <libavutil/channel_layout.h>
26#include <libswresample/swresample.h>
27}
28
29class MediaPlayer : public QMediaPlayer
30{
31 Q_OBJECT
32public:
33 explicit MediaPlayer(QWidget *parent = nullptr);
34 QTime elapsedTime();
35 QTime durationTime();
36 void setPositionToTime(const QTime& time);
37 QString getMediaFileName();
38 QString getPositionInfo();
39 QStringList supportedFormats;
40 // QAudioOutput *m_audioOutput;
41 void loadMediaFromUrl(QUrl *fileUrl);
42
43 void resampleAudio(const char* inputPath, const char* outputPath, int targetSamplingRate);
44
45public slots:
46 void open();
47 void seek(int seconds);
48 void togglePlayback();
49 // void setVolume(int volume);
50 // void setMuted(bool muted);
51
52signals:
53 void message(QString text, int timeout = 5000);
54 void openMessage(QString text);
55 void sendMediaUrl(QUrl mediaUrl);
56
57 void sendBuffer(QBuffer& audio);
58 void sendDuration(qint64 total_duration);
59 void sendSampleRate(qint64 sampleRate, QBuffer& audioBuffer, qint64 totalDuration);
60 void sendingSampleRateStatus(bool status);
61
62private:
63 static QTime getTimeFromPosition(const qint64& position);
65 QSettings* settings;
66
67 bool isAudioFile(const QString& filePath);
68 bool isVideoFile(const QString& filePath);
69 QBuffer audioBuffer;
70 QMediaPlayer *p;
71 qlonglong sampleRate;
72
73};
Definition mediaplayer.h:30
static QTime getTimeFromPosition(const qint64 &position)
Definition mediaplayer.cpp:223
void message(QString text, int timeout=5000)
bool isAudioFile(const QString &filePath)
Definition mediaplayer.cpp:57
MediaPlayer(QWidget *parent=nullptr)
Definition mediaplayer.cpp:6
void seek(int seconds)
Definition mediaplayer.cpp:213
QMediaPlayer * p
Definition mediaplayer.h:70
qlonglong sampleRate
Definition mediaplayer.h:71
QSettings * settings
Definition mediaplayer.h:65
void sendBuffer(QBuffer &audio)
void setPositionToTime(const QTime &time)
Definition mediaplayer.cpp:35
QString getMediaFileName()
Definition mediaplayer.cpp:43
void openMessage(QString text)
bool isVideoFile(const QString &filePath)
Definition mediaplayer.cpp:64
void sendDuration(qint64 total_duration)
void open()
Definition mediaplayer.cpp:189
void resampleAudio(const char *inputPath, const char *outputPath, int targetSamplingRate)
QString m_mediaFileName
Definition mediaplayer.h:64
void sendMediaUrl(QUrl mediaUrl)
QTime durationTime()
Definition mediaplayer.cpp:30
QTime elapsedTime()
Definition mediaplayer.cpp:25
void sendingSampleRateStatus(bool status)
void sendSampleRate(qint64 sampleRate, QBuffer &audioBuffer, qint64 totalDuration)
QStringList supportedFormats
Definition mediaplayer.h:39
QBuffer audioBuffer
Definition mediaplayer.h:69
void loadMediaFromUrl(QUrl *fileUrl)
Definition mediaplayer.cpp:71
QString getPositionInfo()
Definition mediaplayer.cpp:48
void togglePlayback()
Definition mediaplayer.cpp:234