QT之QMediaPlayer的用法

QT之QMediaPlayer的用法

    • 成员函数
    • 例程

成员函数

1)setMedia(const QMediaContent &media, QIODevice *stream = nullptr)
设置要播放的媒体内容,其中参数media指定了媒体内容,stream参数指定了用于读取媒体的输入设备(如文件流)。

2)setPlaylist(QMediaPlaylist *playlist)
设置要播放的播放列表,参数playlist是一个指向QMediaPlaylist对象的指针。

3)setPlaybackMode(QMediaPlaylist::PlaybackMode mode)
设置播放模式,参数mode指定了播放模式,如循环播放、随机播放等。

4)play()
开始播放媒体。

5)stop()
停止播放媒体。

6)pause()
暂停播放媒体。

7)currentMedia() const
获取当前正在播放的媒体内容。

8)setVolume(int volume)
设置音量大小,参数volume指定了音量级别,范围为0(静音)到100(最大音量)。

9)setPosition(qint64 position)
设置播放进度,参数position指定了新的播放进度位置(以毫秒为单1)位)

10)setOutputDevice(QIODevice *device)
设置音频输出设备,参数device是一个指向QIODevice对象的指针。

11)outputDevice() const
获取当前音频输出设备。

12)setVideoOutput(QWidget *widget)
设置视频输出设备,参数widget是一个指向QWidget对象的指针。

13)videoOutput() const
获取当前视频输出设备。

14)isAudioAvailable() const
检查是否可用的音频输出。

15)isVideoAvailable() const
检查是否可用的视频输出。

16)duration() const
获取媒体的播放时长(以毫秒为单位)。

17)position() const
获取当前的播放进度位置(以毫秒为单位)。

18)setPosition(qint64 position)
设置播放进度位置(以毫秒为单位)。

19)currentMediaTime() const
获取当前播放的媒体时间(以毫秒为单位)。

20)seek(qint64 pos)
跳转到指定的播放时间位置(以毫秒为单位)。

21)setPlaybackRate(qreal rate)
设置播放速度,参数rate指定了播放速度,例如0.5表示慢速播放,2表示快速播放。

22)playbackRate() const
获取当前的播放速度。

23)isPlaying() const
检查是否正在播放媒体。

24)isPaused() const
检查是否处于暂停状态。

25)isStopped() const
检查是否停止了播放。

26)state() const
获取当前的播放状态。

27)setState(QMediaPlayer::State state)
设置播放状态,参数state指定了要设置的播放状态,如28)QMediaPlayer::PlayingState、
QMediaPlayer::PausedState或QMediaPlayer::StoppedState。

例程

#include   
#include   
#include   
#include   
#include   
#include   
#include   
  
int main(int argc, char *argv[])  
{  
    QApplication app(argc, argv);  
      
    // 创建QMediaPlayer对象  
    QMediaPlayer *player = new QMediaPlayer;  
      
    // 创建QMediaContent对象,指定要播放的视频文件路径  
    QString filePath = "path/to/video";  
    QMediaContent media(QUrl::fromLocalFile(filePath));  
      
    // 设置要播放的媒体内容  
    player->setMedia(media);  
      
    // 创建QVideoWidget对象,用于显示视频画面  
    QVideoWidget *videoWidget = new QVideoWidget;  
      
    // 将视频画面显示在QVideoWidget对象中  
    player->setVideoOutput(videoWidget);  
      
    // 开始播放视频  
    player->play();  
      
    // 创建定时器对象,用于在播放结束后自动停止播放器  
    QTimer *timer = new QTimer;  
    QObject::connect(player, &QMediaPlayer::finished, timer, &QTimer::start, Qt::QueuedConnection);  
    timer->start(1000);  // 1秒后停止播放器  
      
    return app.exec();  
}

我们首先创建了一个QMediaPlayer对象,然后通过QMediaContent对象指定要播放的视频文件路径,再通过调用setMedia()方法将媒体内容设置到QMediaPlayer对象中。接着,我们创建了一个QVideoWidget对象用于显示视频画面,并通过调用setVideoOutput()方法将视频输出到该对象中。最后,我们调用play()方法开始播放视频,并通过定时器对象在播放结束后自动停止播放器。

注意:.pro文件中必须添加 multimedia multimediawidgets

你可能感兴趣的:(qt,开发语言)