鱼C论坛

 找回密码
 立即注册
查看: 2673|回复: 19

[已解决]mp3怎么播放

[复制链接]
发表于 2019-1-30 01:48:51 From FishC Mobile | 显示全部楼层 |阅读模式
50鱼币
我知道playsound能播放mav文件,那mp3用什么播放啊,百度上说用mci可以实现,但是mci是什么啊,怎么用啊........
最佳答案
2019-1-30 01:48:52
本帖最后由 行客 于 2019-1-30 21:53 编辑

使用函数前必须应该包含头文件:#include<mmsystem.h>  

并导入库:#pragma comment<lib."winmm.lib">


mciSendString(TEXT("open C:/a.mp3 alias donglihuoche"),NULL,0,NULL);
mciSendString是用来播放多媒体文件的API指令。

该函数有四个参数:
第一个参数:要发送的命令字符串。对于程序员来说,可以把MCI理解为设备面板上的一排按键,通过选择不同的按键(发送不同的MCI命令)可以让设备完成各种功能,而不必关心设备内部实现。
      TEXT("open C:/a.mp3 alias donglihuoche")是一个字符串,等同于"open C:/a.mp3 alias donglihuoche"(TEXT是一个宏定义,只是为了表示这是一个字符串,没有其他实质性意义)。
      命令字符串:一般命令有 open、play 、close等。

      open为打开命令。格式为:open device_name type device_type alias device_alias
              device_name:设备名,一般使用文件名字。这里为C:/a.mp3
              type device_type:设备类型,可省略。这里进行了省略
              alias device_alias:设备别名,在以后操作时可以使用此名字,方便。alias是别名的意思。这里定义别名为donglihuoche,即alias donglihuoche。所以下面的play就可以使用别名donglihuoche了而不再需要使用文件路径。

第二个参数:接收返回信息的字符串,一般为NULL。这里设为NULL

第三个参数:接收返回信息字符串的大小,可设为0。这里设为0

第四个参数:回调窗口句柄,一般NULL。这里设为NULL


该函数返回值:函数执行成功返回零,否则返回错误代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-1-30 16:51:26 | 显示全部楼层
BngThea 发表于 2019-1-30 08:56
这是系统的一个库,你直接仿造别人的代码根据你的需求修改一下就行了
参考这篇:
https://blog.csdn.net/ ...

看不懂啊,好多函数跟结构都比知道啥意思啊,百度上面的乱糟糟的看不懂
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-1-30 17:13:16 | 显示全部楼层
BngThea 发表于 2019-1-30 08:56
这是系统的一个库,你直接仿造别人的代码根据你的需求修改一下就行了
参考这篇:
https://blog.csdn.net/ ...

MCI_OPEN_PARMS 这个打开设备结构是什么啊mciOpen.lpstrDeviceType = "mpegvideo";这个赋值的字符串是什么啊,我百度它有四个成员怎么只赋值了两个,其他两个没用吗?mciSendCommand函数命令消息有几种呀MCI_PLAY_PARMS mciPlay这个播放用的结构是什么是,怎么赋值呀查百度太乱了,头都看晕了求大佬指点
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-1-30 19:12:05 | 显示全部楼层
行客 发表于 2019-1-30 17:27
看你的帖子应该是想要命令行的。以下代码是非常简单、非常经济的在控制台下的MP3播放代码:

不报错,但运行没声音呀 不会播放
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-1-30 20:54:03 | 显示全部楼层
行客 发表于 2019-1-30 19:52
肯定是可以正常播放的,我已经测试过了。还需要注意,你的a.mp3这个文件,是不是是正常的.mp3文件,如果文 ...

只能在C盘吗?有什么办法放着其他盘吗    我刚实验下,好像文件名不能包含空格,有空格也不行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-1-30 20:56:19 | 显示全部楼层
行客 发表于 2019-1-30 18:10
5楼是控制台应用程序模式。这个是Windows应用程序的实现:
https://www.taodocs.com/p-84382723.html

看不到,网速不好一直转圈圈
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-1-30 21:14:18 | 显示全部楼层
行客 发表于 2019-1-30 17:27
看你的帖子应该是想要命令行的。以下代码是非常简单、非常经济的在控制台下的MP3播放代码:

大佬第一个参数能详细解释下吗,看不太懂
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-1-30 22:21:44 | 显示全部楼层
行客 发表于 2019-1-30 21:38
使用函数前必须应该包含头文件:#include  

并导入库:#pragma comment

看懂了,谢谢大佬
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-1-30 22:30:33 | 显示全部楼层
行客 发表于 2019-1-30 01:48
使用函数前必须应该包含头文件:#include  

并导入库:#pragma comment

大佬能麻烦你在给我讲讲3楼我的问题吗
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-1-30 23:09:58 | 显示全部楼层
行客 发表于 2019-1-30 22:53
如果你看完了上面的mciSendString的介绍,这里应该也比较好理解。如果有疑问可继续跟帖。

mciSendCo ...

下面你写的看懂了,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-23 03:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表