Sep 18, 2009
I have scoured just about every code sample on the web, and am still having trouble. Basically my code follows the following structure:
View 2 Replies
I installed the DirectX SDK, and imported AudioVideoPlayback Imports Microsoft.Directx.AudioVideoPlayback '''
Then I create my VideoPlayer Public WithEvents VideoPlayer as Video So far so good, I have event handlers and a video object
I execute the above subroutine and the video plays flawlessly
The above code works perfectly as well
Then I try to execute the PlayVideo sub to play another file and I get a generic "Object reference not set to an instance of an object" error, that does not point to any particular line of code. It took me forever to find out exactly what line of code was causing this. So I came up with a workaround:
In the PlayVideo sub I changed the code to this
And there it is, the second video played without error. but then I noticed something, after the second video ended the .Ending event handler did not fire, actually all the event handlers basically died. So someone told me to use a timer to monitor when the video ends, and I basically laughed it off since we know that's an amateur move. After being frustrated for a while, I caved in and used the timer to do my dirty work, which I really don't like.
Now there's another problem, after I play a video in my project, DirectX is not screwed up for other programs until I restart my computer. Particularly I have a visualization plugin for Windows Media Player called Gforce. After I play a video, Gforce will not work, it gives me an "Error=18" which means that my computer does not have sufficient hardware to use it. The only way to be able to clear it up is to restart my computer.
Here are my specs:
Intel 3.0ghz Dual Core processor
Nvidia Geforce 9800GT with 1GB ram
4 GM Ram
Windows 7 64-bit version (build 7100)
Programming in Visual Studio 2008 Professional (using Visual Basic code)
I originally attempted to use the AxWindowsMediaPlayer control, but I am unable to. According to Microsoft there is a bug that prevents me from using it. When I pull up the choose items dialog box it does not show up, if I browse to wmp.dll to manually add it, I get an error ("self-registration for c:windowssystem32wmp.dll failed"). I also read that you should try to add the wmp.ocx instead of wmp.dll, but I am at a loss on this since I am pretty sure that file does not exist. I am trying to put together a new media player program for my theater pc and this video thing is putting me to a standstill. I am a highly experienced vb programmer (over 20 years), but I am not very experienced in DirectX. I have read a lot of code samples on video playback but they all give me tons of problems, so I hate to say it but i think that most of these samples were written by people who don't know what they are doing.