Click here to Skip to main content
15,746,107 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi everybody!

This is my first post and quite a complicated one it is too!

I work with children who have severe disabilities and am trying to develop some software that can enable them to play and navigate DVDs themselves (legally ripped to the hard drive) on MS XP PC based hardware. This will involve zooming/magnifying areas of the DVD menus so that they can accurately select DVD menu options directly.

My 3 (failed) approaches so far have been:

1. Using the MSWebDVD component, but this requires a DVD drive containing a DVD to be connected, and the platform that this software needs to run on does not have/cannot have an optical drive.

2. Using the Windows Media Player component and then trying to capture an area of the screen and then zoom/magnify it, but this doesn’t seem to work with video – I just get a hollow image (I believe this is something to do with DirectX and overlays, but I don’t understand all of that at the moment).

3. Using the Windows Media Player component and resizing the component to dimensions outside of the screen area (and thereby zooming the video), but WMP seems to resize the video to back within the screen area or keeps it the same size but shuffles it down towards the right-hand corner.

I’m using WMP to maintain a certain degree of compatibility (and it’s free) across platforms. I’m also using the K-Lite Standard codec pack to provide DVD playback capabilities within WMP.

Maybe there is a different way of looking at this problem that I’m missing?

I have spent a great deal of time prototyping and trawling the net, but can’t overcome this problem. I would really appreciate any help with this.

Please supply code/links to code if possible. I’m not too bothered about the language – I have Delphi 7 and .Net Express 2005 & 2008. I would prefer Delphi/VB if possible.


PS The spec. of the target platform is quite low, so I don’t want to have to turn off hardware acceleration if possible. I’m also trying to develop this for free, so can’t really afford to buy extra components unless they are very cheap.

The thing I suspect is most likely to work, is WPF ( which would be C# or VB.NET ). However, I'm not sure it's going to let you play DVDs inside your program. It has a media component that will play video, and there's no reason I can see why you couldn't use it to zoom in to parts of the video. DVD playback is going to be your real issue.

The other option is to run a normal DVD program and use an external program for zooming the view, windows actually comes with such a program as part of it's accessibility tools. This has the advantage of being more likely to work on your low specced machines, WPF may not.
Share this answer
Thanks Christian for the very fast response.

WPF looks good - I like your ‘Writing a custom animation class’ example – something like this would be nice for zooming in on parts of the video.

I also found a WPF DVD Player example at, but haven’t had chance to try to get something working yet. My only concern with using WPF is that I couldn't find that much on the net about it and would be concerned that there wouldn't be that much help available with more complex technical questions/problems. It also depends on how demanding it is upon the hardware. My software needs to run on what’s call a VOCA (Voice Output Communication Aid – think of Stephen Hawking’s speaking device) using eye-gaze technology (user controls software just by looking at the devices screen). These tend to be very low spec. (1.2GHz Celeron) custom built tablet-like devices. Also, it looks like another steep learning curve and I have my day jobs, a girlfriend & a life to fit in too, BUT if learning WPF is what it takes, I will persevere.

I have tried lots of screen shot software including XPs magnifier, and screen cam software, but they also seem to be affected by the black effect, unless hardware acceleration is turned off.

Interestingly, all of my prototypes work on Vista, so something must have changed regarding video.

PS I couldn’t find out how to respond to your answer, but leave this question open – hope I’ve done it correctly!
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900