注:本文基於 C++ 代碼講述 vlc 音視頻播放控制過程,且假設你已經集成好了VLC到你的項目中。
一、初始化
像播放單個視頻一樣,首先我們需要初始化 instance
libvlc_instance_t m_vlc = libvlc_new(0, 0);
而不同於播放單個視頻,我們需要的是 libvlc_media_player_t 實例,但是它只支持播放單個媒體,因此我們需要初始化另外一個實例 libvlc_media_list_player_t,它支持列表播放。但同時,libvlc_media_player_t 實例也是不可或缺的,因爲它代表了我們列表中的正在播放的媒體。
libvlc_media_player_t m_mediaplayer = libvlc_media_player_new(m_vlc);
libvlc_media_list_player_t m_listplayer = libvlc_media_list_player_new(m_vlc);
之後我們還需要一個不同於單個媒體 libvlc_media_t 的 libvlc_media_list_t 實例,保存了我們的列表媒體。
libvlc_media_list_t m_medialist = libvlc_media_list_new(m_vlc);
二、設置媒體列表
基礎對象初始化工作完成之後,接下來我們需要將具體的媒體文件添加到我們的播放器中。
void NovaVlcAudio::setMediaList(std::vector<std::string> paths)
{
for (int i = 0; i < paths.size(); i++)
{
QString str = QString::fromStdString(paths[i]);
libvlc_media_t *m_media = l