如何检查VlcMedia是否包含视频?

问题描述

我正在使用vlc-qt开发媒体播放器,我想知道如何识别播放器是否包含视频。 例如

m_player=new VlcmediaPlayer(m_instance);
m_media= new Vlcmedia("",m_instance);
m_player->open(m_media);
m_player->play()

如您所见,我的m_media初始化时没有视频网址,因此如何检查我的m_media是否包含任何视频。

我想知道这一点,因为这样我就可以在播放器中控制 play/stop按钮。

解决方法

解决方案

打开媒体后,使用VlcMediaPlayer::video检索视频对象并检查其是否有效,即不是nullptr

示例

这是我为您写的一个示例,用于演示建议的解决方案的可能实现:

m_player = new VlcMediaPlayer(m_instance);
m_media = new VlcMedia("",m_instance);
m_player->open(m_media);

if (m_player->video())
    m_player->play();
,

根据VlcMedia source,使用getter VlcMedia::currentLocation()可以检索您提供给该类的字符串。通过该字符串,您可以使用QFile::exists()来检查文件路径是否存在。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...