用API播放音频及视频文件

原创 2004年07月13日 18:05:00

如果想在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   *

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

 

使用windows API播放声音文件(wav、mp3)等

软件:      vs2010 工程:     控制台程序(空工程) 代码如下: /* mciSendCommand播放音乐,调用简单,功能强大,但是它只能同时播放一个 文件,而...
  • woshiyuanlei
  • woshiyuanlei
  • 2015年05月31日 20:02
  • 2912

Unity中文API,视频转换器(将任何格式的视频转换为.OGV格式)

unity中文API 链接:http://pan.baidu.com/s/1i45nYyL 密码:882l 视频转换器 链接:http://pan.baidu.com/s/1hrKPhcC 密码:ka...
  • w1212134134
  • w1212134134
  • 2016年05月31日 10:38
  • 3910

调用腾讯视频播放器APi代码

调用腾讯视频播放器APi代码 调用腾讯视频播放器APi var video = new tvp.VideoInfo(); video.setVid("q0...
  • boyit0
  • boyit0
  • 2016年11月11日 09:47
  • 4766

用html5新增的js媒体 API手写的一个视频播放器

html5视频测试 *{margin: 0;padding: 0;list-style-type: none;font...
  • babybk
  • babybk
  • 2016年05月07日 10:53
  • 2159

FFmpeg学习4:音频格式转换

前段时间,在学习试用FFmpeg播放音频的时候总是有杂音,网上的很多教程是基于之前版本的FFmpeg的,而新的FFmepg3中audio增加了平面(planar)格式,而SDL播放音频是不支持平面格式...
  • BrookIcv
  • BrookIcv
  • 2016年09月07日 23:20
  • 2447

FFmpeg - 最简单的封装格式转换器(使用最新API)

更新API版本
  • biezhihua
  • biezhihua
  • 2017年04月27日 00:15
  • 1424

调用优酷视频播放器APi代码

调用优酷视频播放器APi 调用优酷视频播放器APi player = new YKU.Player('youkuplayer',{ styleid: '0', client_i...
  • boyit0
  • boyit0
  • 2016年11月11日 09:46
  • 546

用API编写MP3播放器

using System;using System.Runtime.InteropServices; using System.Text; using System.IO ; namespace cl...
  • loe2468
  • loe2468
  • 2007年05月15日 12:18
  • 279

百度api语音

我是来打酱油的,喵咪,开放平台获取到的开发者access_token就是拿来读单词的,顺便把中文也一起读,哈哈,玩玩,不必当真,有的直接抄的,懒得该,反正不给别人用, 照画的,核心就这么多,页面j...
  • u010138825
  • u010138825
  • 2015年10月18日 15:48
  • 1216

C#播放背景音乐的五种方法

利用DirectX首先要安装DirectX SDK。安装好之后,在C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0目录下有在.n...
  • gatieme
  • gatieme
  • 2016年03月10日 13:49
  • 6153
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用API播放音频及视频文件
举报原因:
原因补充:

(最多只允许输入30个字)