Проблемы с Microsoft::DirectX::AudioVideoPlayback::Video
Пишу в C++ WinForms.
Добавляю в проект reference "C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.AudioVideoPlayback.dll"
namespace MyProgram {
//...
using namespace Microsoft::DirectX::AudioVideoPlayback;
public ref class MainWindow : public System::Windows::Forms::Form
{
public:
MainWindow(void)
{
InitializeComponent();
Video^ v = gcnew Video("1.mp4", false);
v->Owner = this->pictureBox1;
v->Play();
}
};
}
Запускаю. Проект запустился, но окно не появляется. Как будто словил бесконечный цикл.
Ставлю Breakpoint на InitializeComponent(). Вообще в конструктор не заходит.
Если удалить код из конструктора, кроме InitializeComponent, проект работает.
Выполняю этот код в другой функции. Опять ставлю Breakpoint на InitializeComponent():
MainWindow(void)
{
InitializeComponent();
func();
}
void func() {
Video^ v = gcnew Video("1.mp4", false);
v->Owner = this->pictureBox1;
v->Play();
}
Словил этот Breakpoint. Но на вызове функции func() застыл. Как исправить этот баг?
Обновление
Даже если вместо:
Video^ v = gcnew Video("1.mp4", false);
v->Owner = this->pictureBox1;
v->Play();
сделать:
Type^ t = Type::GetType("Microsoft.DirectX.AudioVideoPlayback.Video", true);
вылетит исключение:
Could not load type 'Microsoft.DirectX.AudioVideoPlayback.Video' from assembly 'PictureEditor, Version=1.0.5386.26557, Culture=neutral, PublicKeyToken=null'.
Источник: Stack Overflow на русском