Qt 播放 QSound和QMediaPlayer


在.pro文件中
追加
QT += multimedia

QSound::play(url);
用於簡短聲音的播放,要求格式wav

QMediaPlayer就是我們可以用做播放器 API的哦。
代碼路徑:
包含了很多的小例子,可以給我個星哦。
https://github.com/hiwoshixiaoyu/Qt-Demo
L
ibAudio.h

#ifndef LIBAUDIO_H
#define LIBAUDIO_H

#include "common.h"


#include <QMediaPlayer>
#include <QMediaPlaylist>
class LibAudio
{
public:
    LibAudio();
     virtual ~LibAudio();
    //播放簡短音樂 wav格式
    void playSound(QString url);

    //播放其它格式音樂
    QT_RESULT playMusic(QString url,bool isRepeat=false);
    QT_RESULT pauseMusic();
    QT_RESULT continueMusic();
    QT_RESULT stopMusic();

private:
    QMediaPlayer musicPlayer;
    QMediaPlaylist  playlist;
};

#endif // LIBAUDIO_H

LibAudio.cpp

#include "LibAudio.h"
#include <QSound>


IMPLEMENT_SINGLETON(LibAudio)

LibAudio::LibAudio()
{
    //設置音量
     musicPlayer.setVolume(80);
}

LibAudio::~LibAudio()
{

}



void LibAudio::playSound(QString url)
{
    QSound::play(url);
    return;
}


QT_RESULT LibAudio::playMusic(QString url, bool isRepeat)
{
    if(isRepeat)
    {
        playlist.clear();
        playlist.addMedia(QUrl(url));
        playlist.setCurrentIndex(1);
        playlist.setPlaybackMode(QMediaPlaylist::CurrentItemInLoop);
        musicPlayer.setPlaylist(&playlist);
        musicPlayer.play();
        return QT_SUCCESS;
    }

    musicPlayer.setMedia(QUrl::fromLocalFile(url));
    musicPlayer.play();
    return QT_SUCCESS;
}

QT_RESULT LibAudio::pauseMusic()
{
    musicPlayer.pause();
    return QT_SUCCESS;
}

QT_RESULT LibAudio::continueMusic()
{
    musicPlayer.play();
    return QT_SUCCESS;
}

QT_RESULT LibAudio::stopMusic()
{
    musicPlayer.stop();
    return QT_SUCCESS;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM