1

我想用 C++ 和 wxWidgets 创建一个简单的视频播放器。我放置了 wxMediaCtrl 和 wxFileDialog 控件,并为按钮单击事件创建了以下代码:

wxFileDialog * fopen = new wxFileDialog(this, wxT("Wybierz plik"), wxT(""), wxT(""), wxT("MP4 file (*.mp4)|*.mp4|AVI file (*.avi)|*.avi"));
if (fopen->ShowModal() == wxID_OK)
{
    wxString fname = fopen->GetFilename();
    media->Load(fname); // media is pointer to wxMediaCtrl object
    media->Play();
}

delete fopen;

当我打开文件时,它不播放。我不知道该怎么做。

4

1 回答 1

2

文档指出:

对于一般操作,您需要做的就是调用 Load() 来加载要渲染的文件,捕获 EVT_MEDIA_LOADED 事件,然后调用 Play() 以显示该事件中媒体的视频/音频。

所以问题看起来是当您尝试播放文件时该文件尚未完成加载。您还可以在 wxWidgets 安装的示例目录中查看媒体播放器示例以获取更多详细信息。

于 2012-08-11T16:04:18.437 回答