社区
C++ 语言
帖子详情
用标准C++做一个mp3播放器
张大山No100
2006-07-26 11:01:31
请问哪位高手会用标准 C++ 做一个不要窗口的 mp3 播放器,即播放功能用命令实现,像linux 下的有些命令mp3 模式下的mp3 播放器。(例如用 "mp3playe d:\今天.mp3" 来播放d:\今天.mp3文件。)
小弟最近做一个模块,就是做这个 mp3 播放器,可是一点头绪都没有,请各们大侠给小弟指点指点!
...全文
1564
13
打赏
收藏
用标准C++做一个mp3播放器
请问哪位高手会用标准 C++ 做一个不要窗口的 mp3 播放器,即播放功能用命令实现,像linux 下的有些命令mp3 模式下的mp3 播放器。(例如用 "mp3playe d:\今天.mp3" 来播放d:\今天.mp3文件。) 小弟最近做一个模块,就是做这个 mp3 播放器,可是一点头绪都没有,请各们大侠给小弟指点指点!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
daipeanut
2006-08-02
打赏
举报
回复
mark
gohan
2006-07-29
打赏
举报
回复
楼主我做了一个使用mci方法的程序符合你的标准!
//:音频播放 By Gohan
//在链接是需要附加winmm.lib
#include <iostream>
#include <string>
#include "windows.h"
#include "mmsystem.h"
using namespace std;
main(int argc,char** argv){
// mciSendString("open l.mp3", NULL, 0, NULL);
char returnstr[200]={0};
unsigned long time=0;
if(argc!=2){
cout<<"没有写参数!!参数注明音频路径\n如:c:\\music\\1.mp3"<<endl;
//OnExit();
}else{
string Path(argv[1]);
string::size_type pos=Path.find_first_of('\\',0);
while(pos!=string::npos){
Path.at(pos)='/';
pos=Path.find_first_of('\\',pos);
}
string status="status "+Path+" length";
string play="play "+Path+" wait";
char returnstr[200];
mciSendString(status.c_str(), returnstr,200, NULL);
if (strlen(returnstr)==0) exit(1);
printf("总时长%s毫秒",returnstr);
mciSendString(play.c_str(),returnstr,200,NULL);
}
}
演示程序http://gohan.web178.hezuwang.net/bbs/viewthread.php?tid=2&extra=page%3D1
在我的论坛下载
ray_zhaoxin
2006-07-28
打赏
举报
回复
lame的效果是很不错的,直接有lib可用,使用directsound不一定要用双缓冲,因为你不用混音,一个辅缓冲就够了,但是要处理好lock和播放的间隔,这个是关键
ray_zhaoxin
2006-07-27
打赏
举报
回复
用lame的mp3解码就可以了,播放用directsound,这个是我的专长啊,哈哈
gohan
2006-07-27
打赏
举报
回复
好像用win32 sdk可以实现console的mp3播放,不过标准 c++的库,我不知道可以不
mopyman
2006-07-27
打赏
举报
回复
解码部分跨平台没问题,播放部分跨平台是不可能的,windows和linux的底层音频播放接口是不同的
张大山No100
2006-07-27
打赏
举报
回复
我还没有做,不晓得Lame 的质量,很感谢 mopyman 大哥,给我了很大启示,我会试试看的
我做的目标是做一个在 windows 下可运行,在Linux 下也可以编译运行的程序,也就是在
windows/Linux 可以移植的程序,不知道可不可以实现。
因为我担心做出来不能在Linux 下编译通过
mopyman
2006-07-27
打赏
举报
回复
To ray_zhaoxin(好):
Lame的解码器好用吗?解码质量如何?我用过mpg123,感觉不是很好,某些mp3会出现很大的噪音。
还有,用DirectSound播放的时候要双缓冲或多缓冲吗?我没用,感觉暂停然后重新播放的时候,会出现噪音!
chenhu_doc
2006-07-27
打赏
举报
回复
http://sourceforge.net/
到这里找找。。。。
mapserver
2006-07-26
打赏
举报
回复
关键是音频解码器。
mopyman
2006-07-26
打赏
举报
回复
播放程序在一个单独的线程里,和主程序并行
mopyman
2006-07-26
打赏
举报
回复
这有何难呢,如果自己解码就比较麻烦了,有很多免费的解码器可以用的,mpg123,Lame也有解码器,解码之后windows平台上可以用DirectSound或WaveOut API来播放。这些东西都是现成的,做个能用播放器还是不成问题的。我做过,GUI和Console下播放都没问题,都是用多线程播放的。
OpenHero
2006-07-26
打赏
举报
回复
看mp3的格式
然后看声音处理的一些C++的函数库
或者直接找开源的mp3播放器代码
C++
实现简易
MP3
播放器
实战教程
本教程介绍用
C++
实现简易
MP3
播放器
的方法。涵盖音频解码、文件读取管理、播放API应用、GUI设计等内容。还涉及
C++
源码分析、工程构建调试及跨平台兼容性考虑,帮助开发者掌握构建
播放器
的技能并提升编程能力。
C++
MP3
播放器
按钮类似功能实现
本文介绍了
一个
简单的
MP3
播放器
菜单系统的实现方法。通过使用
C++
标准
库中的vector容器来管理歌曲列表,并提供了添加歌曲、展示菜单等功能。该系统支持键盘输入进行歌曲选择,能够处理不同数量的歌曲列表。
V
C++
MP3
播放器
及歌词同步显示完整教程
本文介绍利用V
C++
结合MFC库开发支持歌词同步显示的
MP3
播放器
。内容包括V
C++
开发环境配置、MFC库使用与界面设计、音频解码技术与库集成、LRC歌词解析、时间同步算法、多线程编程,还涉及调试、性能优化及提升用户体验等方面。
手把手教你用C/
C++
和mini
mp3
写
一个
自己的命令行
MP3
播放器
(附完整源码)
本文详解使用C语言和mini
mp3
库构建命令行
MP3
播放器
的核心技术,涵盖
MP3
帧结构解析、零内存分配解码流程、SDL2异步音频回调设计、环形缓冲区管理及SSE/NEON SIMD加速优化。重点突出mini
mp3
的单头文件集成、ISO
标准
兼容性与跨平台音频输出实现,适用于嵌入式与桌面端音频开发。
Windows下可编译的MFC
MP3
播放器
源码,含解码核心与自定义UI控件
本文详解一套基于MFC框架的Windows原生
MP3
播放器
工程,包含手写MPEG Layer III解码核心(LayerIII.cpp)、MCI多媒体设备控制(TheMci.cpp/CDAudio.cpp)及GDI双缓冲自定义UI控件(ROUNDSLIDERCTRL.CPP/WndGraph.cpp)。项目不依赖第三方库,支持VC6.0至VS2022编译,覆盖音频解码、设备调度、实时频谱渲染与控件子类化等关键技术点,适用于Windows音频开发学习与轻量级
播放器
定制。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章