社区
游戏开发
帖子详情
函数mciSendString()播放AVI文件的问题
liuniu
2000-06-06 03:08:00
说来让各位见笑了,小弟用VC6编写播放avi文件的程序时,使用了mciSendString()函数,系统返回错误信息,调用mciGetErrorString()函数,错误信息是“MMSYSTEM006 系统没有安装驱动程序”,请问如何才能装上所需要的驱动程序?
...全文
201
7
打赏
收藏
函数mciSendString()播放AVI文件的问题
说来让各位见笑了,小弟用VC6编写播放avi文件的程序时,使用了mciSendString()函数,系统返回错误信息,调用mciGetErrorString()函数,错误信息是“MMSYSTEM006 系统没有安装驱动程序”,请问如何才能装上所需要的驱动程序?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
TrueZq
2001-01-05
打赏
举报
回复
http://168.168.18.11:81/etechbase/advsearch.php 也不通啊
TrueZq
2001-01-05
打赏
举报
回复
http://www.etechbase.net/tech 不通啊
The_east_key
2000-12-29
打赏
举报
回复
建议您访问www.etechbase.net/tech,里面有很多资料,也许可以解决您的问题。
访问http://168.168.18.11:81/etechbase/advsearch.php将您的问题输入查询内容框,选择不同的精确程度,即可以找到你所需要的答案。效果还是可以的。
wuchuncai
2000-12-28
打赏
举报
回复
BOOL AviSynPlay(CWnd *hwnd,char *filename,int left,int top, int width,int height,int speed)
{
int result;
int mcidevice;
int mcilength;
int position;
DWORD mcimode;
MCI_DGV_OPEN_PARMS openparms;
MCI_DGV_PLAY_PARMS playparms;
MCI_DGV_PUT_PARMS putparms;
MCI_DGV_STATUS_PARMS statusparms;
MCI_DGV_SET_PARMS setparms;
MCI_DGV_WINDOW_PARMS windowparms;
MCI_GENERIC_PARMS genericparms;
openparms.lpstrDeviceType="avivideo";
openparms.lpstrElementName=(LPSTR)(long)(const char *)filename;
result=mciSendCommand(0,MCI_OPEN,MCI_NOTIFY|MCI_OPEN_TYPE|MCI_OPEN_ELEMENT,(DWORD)(LPSTR)&openparms);
mcidevice=openparms.wDeviceID;
statusparms.dwItem=MCI_STATUS_MODE;
result=mciSendCommand(mcidevice,MCI_STATUS,MCI_NOTIFY|MCI_STATUS_ITEM,(DWORD)(LPSTR)&statusparms);
mcimode=statusparms.dwReturn;
statusparms.dwItem=MCI_STATUS_LENGTH;
result=mciSendCommand(mcidevice,MCI_STATUS,MCI_NOTIFY|MCI_STATUS_ITEM,(DWORD)(LPSTR)&statusparms);
mcilength=statusparms.dwReturn;
setparms.dwTimeFormat=MCI_FORMAT_MILLISECONDS;
setparms.dwFileFormat=MCI_DGV_FF_AVI;
result=mciSendCommand(mcidevice,MCI_SET,MCI_NOTIFY|MCI_SET_TIME_FORMAT|MCI_DGV_SET_FILEFORMAT,(DWORD)(LPSTR)&setparms);
statusparms.dwItem=MCI_STATUS_MODE;
result=mciSendCommand(mcidevice,MCI_STATUS,MCI_NOTIFY|MCI_STATUS_ITEM,(DWORD)(LPSTR)&statusparms);
mcimode=statusparms.dwReturn;
// result=mciSendCommand(mcidevice,MCI_WHERE,MCI_NOTIFY|MCI_DGV_WHERE_SOURCE,(DWORD)(LPSTR)&rectparms);
// mciwidth=rectparms.rc.right;
// mciheight=rectparms.rc.bottom;
putparms.rc.right=width;//mciwidth;
putparms.rc.bottom=height;//mciheight;
putparms.rc.top=top;
putparms.rc.left=left;
result=mciSendCommand(mcidevice,MCI_PUT,MCI_NOTIFY|MCI_DGV_RECT|MCI_DGV_PUT_DESTINATION,(DWORD)(LPSTR)&putparms);
windowparms.hWnd=hwnd->m_hWnd;
windowparms.nCmdShow=SW_SHOW;
result=mciSendCommand(mcidevice,MCI_WINDOW,MCI_NOTIFY|MCI_DGV_WINDOW_HWND|MCI_DGV_WINDOW_STATE,(DWORD)(LPSTR)&windowparms);
//if(speed!=5)
//{
//setparms.dwSpeed=(11-speed)*40;
//result=mciSendCommand(mcidevice,MCI_SET,MCI_NOTIFY|MCI_DGV_SET_SPEED,(DWORD)(LPSTR)&setparms);
//}
playparms.dwFrom=0;
mciSendCommand(mcidevice,MCI_PLAY,MCI_NOTIFY|MCI_FROM,(DWORD)(LPSTR)&playparms);
statusparms.dwItem=MCI_STATUS_POSITION;
MSG Message;
while(1)
{
result=mciSendCommand(mcidevice,MCI_STATUS,MCI_NOTIFY|MCI_STATUS_ITEM,(DWORD)(LPSTR)&statusparms);
position=statusparms.dwReturn;
while (::PeekMessage(&Message, NULL, 0, 0, PM_REMOVE))
{
::TranslateMessage(&Message);
::DispatchMessage(&Message);
}
if(position==mcilength)break;
if(mEscape)break;
}
mciSendCommand(mcidevice,MCI_CLOSE,MCI_NOTIFY,(DWORD)(LPSTR) &genericparms);
mcidevice=0;
return TRUE;
}
//关键
openparms.lpstrDeviceType="avivideo";
avivideo必须在system.ini 或win.ini中有定义,没有看看mci下到底定义了MCI的驱动为啥("string").
openparms.lpstrDeviceType="string";
wistaria
2000-12-27
打赏
举报
回复
在system.ini的
[mci]中加入
avivideo=mciavi.drv
zhizhi
2000-12-27
打赏
举报
回复
因为mci是很高级的命令接口,没有设备驱动当然不行的.
CRay
2000-12-27
打赏
举报
回复
很简单呀!装一个windows media play高版本,在system.ini中加入MPEGVideo=mciqtz.drv就好了。
mc
iSe
n
dSt
ring
micsen
dst
ring
()用来
播放
多媒体
文件
的API指令,可
播放
mp3,wav ,
avi
等
文件
delphi 开发经验技巧宝典源码
0142 使用FileWrite
函数
将缓冲区中的内容写入
文件
91 4.10 其他
函数
91 0143 使用Random
函数
产生7个随机数 91 0144 使用DiskFree
函数
返回磁盘驱动器的剩余空间 91 0145 如何使用Printer
函数
92 0146 使用...
delphi 开发经验技巧宝典源码06
0142 使用FileWrite
函数
将缓冲区中的内容写入
文件
91 4.10 其他
函数
91 0143 使用Random
函数
产生7个随机数 91 0144 使用DiskFree
函数
返回磁盘驱动器的剩余空间 91 0145 如何使用Printer
函数
92 0146 使用...
mc
iSe
n
dSt
ring
函数
简介(
播放
音乐以及录音相关操作)
mc
iSe
n
dSt
ring
函数
相关指令简介,如何进行
播放
音乐、条件音量、快进快退、录音等功能
用
mc
ise
n
dst
ring
播放
视频
目前测试只能
播放
,.wmv,
avi
,mp3
文件
。
游戏开发
8,304
社区成员
23,682
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章