Добрый вечер.
Есть класс Loading, В нем класс Movie, а в нем следующий код:
C# |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| public class Movie
{
public Microsoft.DirectX.AudioVideoPlayback.Video PlayMovie;
public Tao.Platform.Windows.SimpleOpenGlControl EV4_OGL_CONST = new SimpleOpenGlControl();
public string MovieOne;
public string MovieTwo;
public void StartMovie()
{
PlayMovie = Video.FromFile(MovieOne);
PlayMovie.Owner = EV4_OGL_CONST;
PlayMovie.Play();
PlayMovie.Ending += new EventHandler(eMovie_Ending);
}
private void eMovie_Ending(object sender, EventArgs e)
{
PlayMovie = Video.FromFile(MovieTwo);
PlayMovie.Owner = EV4_OGL_CONST;
PlayMovie.Play();
}
} |
|
До этого в классебыла обьявленна библеотека Microsoft.DirectX.AudioVideoPlayback.
Ну так вот, что бы заставить все это няшку работать, в главном классе формы, в событии запуска, я написал следующие:
C# |
1
2
3
4
5
6
7
8
9
| void MainFormLoad(object sender, EventArgs e)
{
Loading.Movie LoadingMovie = new Loading.Movie();
LoadingMovie.EV4_OGL_CONST = EV4_OGL;
LoadingMovie.MovieOne = @"Videos\LoadVideo1.wmv";
LoadingMovie.MovieTwo = @"Videos\LoadVideo2.wmv";
LoadingMovie.StartMovie();
} |
|
Очень странно, но компилятор выбивает мне исключение:
Microsoft.DirectX.DirectXException: Ошибка в приложении.
в void Microsoft.DirectX.AudioVideoPlayback.Video.Open(String fileName, Boolean autoRun)
в void Microsoft.DirectX.AudioVideoPlayback.Video..ctor(String fileName, Boolean autoRun)
в static Video Microsoft.DirectX.AudioVideoPlayback.Video.FromFile(String filename)
как void Game_EV4.Game.Loading+Movie.StartMovie() в c:\Users\ProCoder\Documents\SharpDevelop Projects\Game EV4\Game EV4\Game\Loading.cs:строка 25
как void Game_EV4.MainForm.MainFormLoad(Object sender, EventArgs e) в c:\Users\ProCoder\Documents\SharpDevelop Projects\Game EV4\Game EV4\MainForm.cs:строка 29
в void System.Windows.Forms.Form.OnLoad(EventArgs e)
в void System.Windows.Forms.Form.OnCreateControl()
в void System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
в void System.Windows.Forms.Control.CreateControl()
в void System.Windows.Forms.Control.WmShowWindow(Message m)
в void System.Windows.Forms.Control.WndProc(Message m)
в void System.Windows.Forms.ScrollableControl.WndProc(Message m)
в void System.Windows.Forms.ContainerControl.WndProc(Message m)
в void System.Windows.Forms.Form.WmShowWindow(Message m)
в void System.Windows.Forms.Form.WndProc(Message m)
в void System.Windows.Forms.Control+ControlNativeWindow.OnMessage(Message m)
в void System.Windows.Forms.Control+ControlNativeWindow.WndProc(Message m)
в IntPtr System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в void System.Windows.Forms.Form.SetVisibleCore(Boolean value)
в void System.Windows.Forms.Control.set_Visible(Boolean value)
в void System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в void System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в static void System.Windows.Forms.Application.Run(Form mainForm)
как static void Game_EV4.Program.Main(String[] args) в c:\Users\ProCoder\Documents\SharpDevelop Projects\Game EV4\Game EV4\Program.cs:строка 13
В чем проблемма?