Solved

Use mmio to handle multiple files played by MCI?

Posted on 1997-07-31
3
210 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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

In this article, I will show how to use the Ribbon IDs Tool Window to assign the built-in Office icons to a ribbon button.  This tool will help us to find the OfficeImageId that corresponds to our desired built-in Office icon. The tool is part of…
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 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…
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

828 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