Solved

Use mmio to handle multiple files played by MCI?

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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

This article describes how to programmatically preset the "Pages per Sheet" option that's available with most printer drivers.   This setting lets you do "n-Up" printing, where two, four, or more pages are printed on each sheet of paper. If your …
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…
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…
Need to grow your business through quality cloud solutions? With everything required to build a cloud platform and solution, you may feel like the distance between you and the cloud is quite long. Help is here. Spend some time learning about the Con…

932 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now