关于#qt#的问题:qt6.4.2真的删除了QMediaPlaylist类吗

qt6.4.2真的删除了QMediaPlaylist类吗,我下载了QMultimedia模块里没有了

已弃用

  • 这篇文章:QT的QMediaPlaylist类的使用 也许能够解决你的问题,你可以看下
  • 你还可以看下qt参考手册中的 qt mediaInserted: QMediaPlaylist
  • 除此之外, 这篇博客: Qt示例: QMediaPlayer使用中的 Qt示例: QMediaPlayer使用 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 使用子线程进行QMediaPlayer播放器制作
    不知为何我的Qt无法对QMediaPlayer对象设置QMEdiaPlayerList,只有
    m_pMediaPlayer->set4Playlist(&m_MediaPlayerList);(但不能通过编译)
    没有setPlaylist( )函数,但是开发文档中有。
    于是通过QMediaPlayer内部状态的改变来进行循环播发

  • 以下回答由chatgpt基于相关博客总结生成:

    经过查阅资料,目前在Qt6.4.2版本中,确实已经删除了QMediaPlaylist类。如果您需要使用类似的功能,可以考虑使用QMediaContent或者自己实现一个列表类来保存媒体文件。以下是一个示例:

    class MyPlaylist : public QObject
    {
        Q_OBJECT
    public:
        explicit MyPlaylist(QObject *parent = nullptr) : QObject(parent) {}
    
        void addMedia(const QUrl &url)
        {
            m_mediaList.append(url);
        }
    
        void clear()
        {
            m_mediaList.clear();
        }
    
        int mediaCount() const
        {
            return m_mediaList.count();
        }
    
        QUrl mediaUrl(int index) const
        {
            if (index >= 0 && index < m_mediaList.count()) {
                return m_mediaList.at(index);
            }
            return QUrl();
        }
    
    private:
        QList<QUrl> m_mediaList;
    };
    

    在使用时,可以类似于以下方式添加媒体文件:

    MyPlaylist *playlist = new MyPlaylist;
    playlist->addMedia(QUrl("file:///path/to/music1.mp3"));
    playlist->addMedia(QUrl("file:///path/to/music2.mp3"));
    
    QMediaPlayer *player = new QMediaPlayer;
    player->setPlaylist(playlist);
    
    player->play();
    

    另外,还需要确保添加了multimedia模块,以及安装了对应的解码器,例如LAVFilters。

    最后,建议在.pro文件中添加multimedia模块:

    QT += multimedia