标题:Win32ASM----MCI----音乐播放器----(修改以前的一份代码)----觉得标题不够长 ...
只看楼主
bingghost
Rank: 2
等 级:论坛游民
帖 子:70
专家分:85
注 册:2012-1-4
结帖率:100%
 问题点数:0 回复次数:11 
Win32ASM----MCI----音乐播放器----(修改以前的一份代码)----觉得标题不够长- -!肿么办
   又来了
   首先  还是先来几张Picture

用的mci接口  木有什么技术含量  - _ -!

(温馨提示:----图片小了看不清?----双击图片即可看大图)








界面还不错吧   那得感谢非虫大大提供的SkinH  不过那个好像不是破解版本的(标题栏 会呈现一个调试的字样)
于是 搜索之 在某个小站 找到破解版的  

另外收集了一些  不知道哪里收集来的几个换肤dll   以及一个Win32ASM皮肤美化教程   现在打包  分享
几个皮肤库.zip (2.81 MB)



现在简单的介绍下播放器:
1.常用的功能如界面
2.点击最小化 到任务栏托盘
3.支持多个文件拖放
4.解决了中文路径不能播放歌曲的问题
5.部分mp3不能播放  网上搜索 是mci接口问题 好像是多了神马神马的
6.不支持歌词显示
额  好像大概就这么多了
由于本人水平有限  可能会存在一些问题  还请在后面跟帖指明  小弟表示感激不尽

代码片段 就不贴了  因为不知道哪里是关键的代码   - -!

(昨天很悲剧 桌面上的东西 全被一个软件删了(操作失误 - -!)    关于MCI的资料也就没有了  - _ -! )
我在2楼把我以前做的笔记  贴一下 - -!

程序下载:
BingghostPlayer.zip (1.9 MB)

源码下载:
MyPlayer.zip (527.71 KB)



搜索更多相关主题的帖子: 图片 破解版 标题栏 接口 
2012-06-08 23:53
bingghost
Rank: 2
等 级:论坛游民
帖 子:70
专家分:85
注 册:2012-1-4
得分:0 
一.简介
MCI(Media Control Interface)媒体控制接口是MircroSoft提供的一组多媒体设备和文件的标准接口,它的好处是可以方便地控制绝大多数多媒体设备包括音频、视频、影碟、录像等多媒体设备,而不需要知道它们的内部工作状况。

(1).主要的函数
一般说来,程序员使用两个函数就可以与MCI打交道了:

MCIERROR mciSendCommand(MCIDEVICEID wDeviceID, UINT uMsg,
DWORD dwFlags, DWORD dwParam );
命令消息方式,用专业语法发送控制消息,适用于VC等语言编程,此方式直接与MCI设备打交道。

MCIERROR mciSendString(LPCTSTR lpszCommand,LPTSTR lpszReturnStr
ing, UINT cchReturn, HANDLE hwndCallback
);
命令字符串方式,用接近于日常生活用语的方式发送控制命令,适用于高级编程如VB、TOOLBOOK等。

对于mciSendString,第一个参数为一串控制字符串,返回信息由系统填入第二个参数,第三个参数指明返回信息的最大长度,若对MCI装置设定了"notify"标志则需要在第四个参数填上返回窗口句柄。

举例:
mciSendCommand(DeviceID,MCI_CLOSE,NULL,NULL);//关闭一个MCI设备;
mciSendString("open aaa.avi",0,0,0); //打开文件"aaa.avi";

(2)MCI的设备类型有:
设备描述                                         描述字符串              说明
 
MCI_ALL_DEVICE_ID                                                所有设备
 
MCI_DEVTYPE_ANIMATION         Animation              动画设备
 
MCI_DEVTYPE_CD_AUDIO               Cdaudio             CD音频
 
MCI_DEVTYPE_DAT                          Dat                    数字音频
 
MCI_DEVTYPE_DIGITAL_VIDEO    Digitalvideo            数字视频
 
MCI_DEVTYPE_OTHER                     Other                 未定义设备
 
MCI_DEVTYPE_OVERLAY               Overlay                 重叠视频
 
MCI_DEVTYPE_SCANNER              Scanner                  扫描仪
 
MCI_DEVTYPE_SEQUENCER        Sequencer MIDI      序列器
 
MCI_DEVTYPE_VCR                              Vcr                合式录像机
 
MCI_DEVTYPE_VIDEODISC             Videodisc             激光视盘
 
MCI_DEVTYPE_WAVEFORM_AUDIO waveaudio Wave    音频

对于未在上面定义的MCI设备,用户可查看system.ini文件中[mci]部分,例如:
[mci]
cdaudio=mcicda.drv
sequencer=mciseq.drv
waveaudio=mciwave.drv
avivideo=mciavi.drv
videodisc=mcipionr.drv
vcr=mcivisca.drv
ActiveMovie=mciqtz.drv
QTWVideo=mciqtw.drv
MPEGVideo=C:\PROGRA~1\XING\XINGMP~1\xmdrv95.dll

其中最后两句分别指明了Apple的QuickTime设备,设备名为"QTWVidio",MPEG影像设备,设备名为"MPEGVideo"。

在MCI编程中,既可以将设备描述当设备名,也可以将描述字符串当设备名,一个极端偷懒的办法是程序员不要在程序中指定设备名,Windows将自动根据文件扩展名识别设备类型。


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
二.详细实现
(1)打开多媒体文件:
[1]:自动识别:打开一个"WAV"文件
MCI_OPEN_PARMS mciOpen;
mciOpen.lpstrDeviceType=0;
mciOpen.lpstrElementName="aaa.wav";
mciSendCommand(NULL,MCI_OPEN, MCI_OPEN_ELEMENT,
(DWORD)&mciOpen);

[2]:指定设备描述:打开CD播放器
MCI_OPEN_PARMS mciOpen;
mciOpen.lpstrDeviceType=(LPSTR)MCI_DEVTYPE_CD_AUDIO ;
mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID,
(DWORD)&mciOpen);

[3]:指定描述字符串: 打开一个AVI文件
MCI_OPEN_PARMS mciOpen;
mciOpen.lpstrDeviceType="avivideo";
mciOpen.lpstrElementName="aaa.avi";
mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_TYPE | MCI_OPEN_ELEMENT,
(DWORD)&mciOpen);

(2).MCI指令
MCI使用如下指令:
 
MCI_BREAK                设置中断键,缺省是”CTRL+BREAK"
MCI_CAPTURE            抓取当前帧并存入指定文件,仅用于数字视频
MCI_CLOSE                关闭设备
MCI_CONFIGURE       弹出配置对话框,仅用于数字视频
MCI_COPY                 拷贝数据至剪贴板
MCI_CUE                    延时播放或录音
MCI_CUT                    删除数据
MCI_DELETE               删除数据
MCI_ESCAPE              仅用于激光视频
MCI_FREEZE               将显示定格
MCI_GETDEVCAPS     获取设备信息
MCI_INDEX                当前屏幕显示与否,仅用于VCR设备
MCI_INFO                  获取字符串信息
MCI_LIST                    获取输入设备数量,支持数字视频和VCR设备
MCI_LOAD                 装入一个文件
MCI_MARK                 取消或做一个记号,与MCI_SEEK配套
MCI_MARK                 取消或做一个记号,与MCI_SEEK配套
MCI_MONITOR          为数字视频指定报告设备
MCI_OPEN                 打开设备
MCI_PASTE                 粘帖数据
MCI_PAUSE                暂停当前动作
MCI_PLAY                  播放
MCI_PUT                    设置源、目的和边框矩形
MCI_QUALITY            定义设备缺省质量
MCI_RECORD             开始录制
MCI_RESERVE            分配硬盘空间
MCI_RESTORE            拷贝一个bmp文件至帧缓冲
MCI_RESUME            使一个暂停设备重新启动
MCI_SAVE                 保存数据
MCI_SEEK                  更改媒体位置
MCI_SET                    设置设备信息
MCI_SETAUDIO         设置音量
MCI_SETTIMECODE   启用或取消VCR设备的时间码
MCI_SETTUNER         设置VCR设备频道
MCI_SETVIDEO          设置video参数
MCI_SIGNAL             在工作区上设置指定空间
MCI_STATUS             获取设备信息
MCI_STEP                  使播放设备跳帧
MCI_STOP                 停止播放
MCI_SYSINFO           返回MCI设备信息
MCI_UNDO               取消操作
MCI_UNFREEZE         使使用MCI_UNFREEZE的视频缓冲区恢复运动
MCI_UPDATE             更新显示区域
MCI_WHERE               获取设备裁减矩形
MCI_WINDOW          指定图形设备窗口和窗口特性

其中比较常用的指令有MCI_OPEN、MCI_CLOSE、MCI_PLAY、MCI_STOP、MCI_PAUSE、MCI_STATUS等等。

我的头像就是我的女神 可惜我的女神已经死了 所以我的心也死了
2012-06-08 23:54
bingghost
Rank: 2
等 级:论坛游民
帖 子:70
专家分:85
注 册:2012-1-4
得分:0 
MCI命令列表
http://blog.
MCI-百度百科
http://baike.baidu.com/view/4189925.htm#1

更多细节用法请查阅MSDN


我的头像就是我的女神 可惜我的女神已经死了 所以我的心也死了
2012-06-08 23:56
bingghost
Rank: 2
等 级:论坛游民
帖 子:70
专家分:85
注 册:2012-1-4
得分:0 
PS:2楼格式乱了

我的头像就是我的女神 可惜我的女神已经死了 所以我的心也死了
2012-06-08 23:57
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
膜拜大牛
2012-06-09 09:55
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
得分:0 

最基础的往往是你最容易忽略的!
2012-06-09 13:17
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
得分:0 
膜拜大牛.
关于部分MP3不能播放,这个好象没有办法解决。
你可以使用mpg123库来解决这个问题。

我们都在路上。。。。。
2012-06-09 13:23
bingghost
Rank: 2
等 级:论坛游民
帖 子:70
专家分:85
注 册:2012-1-4
得分:0 
以下是引用于祥在2012-6-9 13:17:22的发言:

thanks

我的头像就是我的女神 可惜我的女神已经死了 所以我的心也死了
2012-06-09 16:53
bingghost
Rank: 2
等 级:论坛游民
帖 子:70
专家分:85
注 册:2012-1-4
得分:0 
以下是引用hellovfp在2012-6-9 13:23:17的发言:

膜拜大牛.
关于部分MP3不能播放,这个好象没有办法解决。
你可以使用mpg123库来解决这个问题。
嗯  有空在用mpg123 做做  嘿嘿

我的头像就是我的女神 可惜我的女神已经死了 所以我的心也死了
2012-06-09 16:54
Alar30
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
注 册:2009-9-8
得分:0 
下载下来学习一下哈。。
2012-06-11 11:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-371130-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.475209 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved