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インストールのsamplesディレクトリにあるmediaplayerサンプルも参照してください。

于 2012-08-11T16:04:18.437 に答える