日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT制作音乐播放器的相关知识点

發(fā)布時間:2025/3/19 c/c++ 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT制作音乐播放器的相关知识点 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

獲取媒體對象播放進度的方法

  • QMediaPlayer::position()。

該方法返回一個qint64(64位整數(shù),可以近似理解為int)類型。

設(shè)置進度的方法是

  • QMediaPlayer::setPosition(qint64 position)。

?

設(shè)置當前播放媒體的方法

  • QMediaPlayer::setMedia(QMediaContent &media,QIODevice *stream = QNULLPTR)。?

第二個參數(shù)默認即可。

第一個參數(shù)是一個QMediaContent對象,封裝了媒體文件信息。

這個對象可以通過QMediaContent(QUrl url)來創(chuàng)建。QUrl可以是一個本地的文件,也可以是網(wǎng)絡(luò)上的文件。

?

切換播放狀態(tài)的的方法

  • QMediaPlayer::play()
  • QMediaPlayer::pause
  • QMediaPlayer::stop()

?

QMediaPlayer中定義的兩個重要的枚舉類型StateMediaStatus?:

  • State包含著當前的播放狀態(tài),有 { StoppedState, PlayingState, PausedState }三種狀態(tài),可以通過state()函數(shù)獲取。?
  • MediaStatus包含當前媒體文件的有效性

? ? 有 { UnknownMediaStatus, NoMedia, LoadingMedia, LoadedMedia, …, InvalidMedia }等狀態(tài),

? ? 可以通過mediaStatus()方法獲取。

?

QMediaPlaylist

QMediaPlaylist是一個列表,

它可以保存媒體文件,包括媒體路徑等信息,

它具有著列表的性質(zhì),比如添加刪除插入等,但它能做的,比單純的儲存要多得多。

設(shè)置播放順序,對播放的控制,保存到本地,從本地讀取,都可以很方便地實現(xiàn)。

用QMediaPlaylist ?添加媒體文件?可以使用 ?addMedia ?方法。方法接收一個QMediaContent的對象引用

  • playlist->addMedia(QMediaContent(QUrl("http://example.com/movie1.mp4")));
  • playlist->addMedia(QMediaContent(QUrl("http://example.com/movie2.mp4")));
  • playlist->addMedia(QMediaContent(QUrl("http://example.com/movie3.mp4")));
  • 此時新添加的媒體被插入到列表的最后。

    同樣的也有指定位置的插入方法。除了QMediaContent對象引用,還需要指定插入位置

  • playlist->insertMedia(2,QMediaContent(QUrl("http://example.com/movie4.mp4")));
  • ?

    方法clear()可以清除所有的媒體對象。?
    而希望精確地刪除媒體,就要用到 ?removeMedia ?方法。

    方法有兩個版本,

    第一個版本接收一個int變量作為被刪除媒體的位置,

    另一個版本接收兩個int變量,刪除這兩個索引之間的所有媒體對象。

  • playlist->removeMedia(3);//刪除位置索引為3的媒體對象
  • playlist->removeMedia(0,2);//刪除位置索引為0,1,2的媒體對象;
  • playlist->clear();//清空列表
  • ?

    Playlist的高級操作。?


    我們知道,現(xiàn)在的播放器一般都有選擇播放順序的功能,

    除了最基本的順序播放,還有單曲循環(huán)、隨機播放等模式。

    現(xiàn)在只需要調(diào)用 ?setPlaybackMode(PlaybackMode mode) ?這個方法,就可以設(shè)置播放順序。?
    方法接收枚舉類型PlaybackMode作為播放順序。

    名稱枚舉值說明
    QMediaPlaylist::CurrentItemOnce0單曲播放
    QMediaPlaylist::CurrentItemInLoop1單曲循環(huán)
    QMediaPlaylist::Sequential2順序播放
    QMediaPlaylist::Loop3列表循環(huán)
    QMediaPlaylist::Random4隨機播放

    調(diào)用 ?next() ?和 ??previous() ?方法,可以實現(xiàn)按照播放模式進行當前播放的手動切換。

    當一個媒體播放完畢時,會自動地調(diào)用next()方法。

    ?

    將一個QMediaPlaylist設(shè)置進QMediaPlayer

  • player.setPlaylist(playlist);
  • player.play();//播放playlist當前媒體
  • ?

    ?

    與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的QT制作音乐播放器的相关知识点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。