Solved

Use mmio to handle multiple files played by MCI?

Posted on 1997-07-31
3
209 Views
Last Modified: 2013-12-03
Hi,
  I try to play video from a CDrom using MCI commands, Under VC++4.2 and Win95. I know the MCI driver I have uses mmio functions to read data. My question is, since there are more than one video file in a disk(like a Video CD), how I can play video seamlessly? I know I need to define my own mmio procedure(mmioProc), but does one mmioProc only refers to one opened mmio file? Because the handle is in the MMIOINFO. In order to handle multiple file, which is the right approch?
a. detecting the end of file, close mmio then open the next file. I think it's too slow.
b. open all video files, each has its own handle, while changing file, assign the new handle to MMIOINFO, then call mmioProc.
c. other method. Please do tell me more.
I am a newbie in this area, please help.
0
Comment
Question by:danli020797
  • 2
3 Comments
 
LVL 3

Accepted Solution

by:
vinniew earned 100 total points
ID: 1402557
b. is the correct answer as long as you are not talking about an obscene number of video files.


0
 

Author Comment

by:danli020797
ID: 1402558
One more thing. Do you think this will work in terms of seamless playing? Since the only way I can detect the end of the file is either setup a multimedia timer or notify by MCI, I don't want the user to notify any difference while playing between two files. Do you know any other way to accomplish that. Also if I open all file at once( as many as about 100), will that take lost of resources?
Thank you
0
 
LVL 3

Expert Comment

by:vinniew
ID: 1402559
If you buffer things correctly, you shouldn't have any problems opening that many files.  If you have the time to program, however, I would think about just keeping 3 or 4 open at once.  Then you could just start a thread to open up another one while you were playing.

In regards to detecting the end of the file:

1. Keep a counter of how many records you've read.
2. Determine from file size how many records are possible.
3. compare


In regards to resources opening a file:

1. If you use CFile, expect to use about 1K per open request
2. If you use FILE*, expect to use about 100 bytes.
3. In either case, you should have plenty of room.

Hasta,

V

0

Featured Post

ScreenConnect 6.0 Free Trial

Discover new time-saving features in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article shows a few slightly more advanced techniques for Windows 7 gadget programming, including how to save and restore user settings for your gadget and how to populate the "details" panel that is displayed in the Windows 7 gadget gallery.  …
With most software applications trying to cater to multiple user needs nowadays, the focus is to make them as configurable as possible. For e.g., when creating Silverlight applications which will connect to WCF services, the service end point usuall…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question