★卢培培★ ── 欢迎光临卢培培(goodname008)的BLOG

人生真正的快乐,多在贫家茅舍,少在富室红楼。

用API播放音频及视频文件

如果想在Windows下播放音频或视频文件,可以使用API函数中的mciSendString实现,非常简单。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

源代码如下:

/****************************************************************/

/*  超简易媒体播放器                                             */

/*  作者: 卢培培(goodname008)                                    */

/****************************************************************/

#include "windows.h"

 

int main(int argc, char *argv[])

{

    char filename[255];

    strcpy(filename, "open ");

    strcat(filename, argv[1]);

    strcat(filename, " alias media");

   

    if (argc == 2)

    {

        mciSendString("close media", NULL, NULL, NULL);

        mciSendString(filename, NULL, NULL, NULL);

        mciSendString("play media", NULL, NULL, NULL);

        system("pause");

    }

   

    return 0;

}

 

    链接的时候别忘了加上winmm.lib,一个非常非常简单的媒体播放器就OK了。当然,如果上面这堆代码能够被称做播放器的话,我想世界上现存的播放器可能不会有比这个再简单的了,你见过播放器做成console application的吗?呵呵。运行时只需要一个参数,就是要播放的媒体文件的文件名,可以这样说,媒体播放器能播的它都能播。

   

    其实,mciSendString这个函数非常有用,而且非常复杂。上面的代码仅仅是一个播放器的最简单实现,不能实现暂停,不能实现快进等等。如果要实现更复杂的功能,只要配合MCI指令集就可以了。

 

下面是MCI指令集的列表:

break

capability

capture

close

configure

copy

cue

cut

delete

escape

freeze

index

info

list

load

mark

monitor

open

paste

pause

play

put

quality

realize

record

reserve

restore

resume

save

seek

set

setaudio

settimecode

settuner

setvideo

signal

spin

status

step

stop

sysinfo

undo

unfreeze

update

where

window

 

    至于每条指令的具体用法,我想MSDN应该是最权威的了,当然,网上也有相关的中文资料供大家参考。

 

细心的人应该已经发现了,使用mciSendString函数配合MCI指令集,再加上一些作界面的知识,做一个漂亮实用的播放器应该是不成问题了。你说呢?   :D

 

 

*-------------------------------------------*

*  转载请通知作者并注明出处,CSDN欢迎您!   *

*  作者:卢培培(goodname008              *

*  邮箱:goodname008@163.com                *

*  专栏:http://blog.csdn.net/goodname008   *

*-------------------------------------------*

 
阅读更多
个人分类: VC/MFC
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭