高分求C/C++的播放MP3/OGG/WAV三个格式的DIRECTX实现的最简单的代码

_uniqs 2009-09-29 12:19:02
高分求C/C++的播放MP3/OGG/WAV三个格式的DIRECTX实现的最简单的代码,这一块我以前没有接触过,现在手上只有一个是用COM做的能播放WAV格式,要求最好是DIRECTX的,最坏是使用了第三方的DLL,但是必需是开源的,不想跟人打官司。谢谢
...全文
630 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljb1672 2011-09-18
  • 打赏
  • 举报
回复
1、注意:从内存或资源播放。
2、最好使用DX的库。
我也碰到类似问题,不好解决
smwhotjay 2011-02-13
  • 打赏
  • 举报
回复
我用dxsound把wav,mp3播放实现了.正在找ogg的解码使用方法.
你可以先把dxsound播放wav看懂,然后就可以找mpg123,这是个mp3编/解码库.
gameice 2009-10-23
  • 打赏
  • 举报
回复
你也可以参考irrKlang

鬼火引擎是开源的 并且含有支持2D.3D的音效库

它提供WAV,MP3,OGG,MOD,XM,IT,S3M等一些音频格式的播放支持。它是由C++编写的

可以完全独立于Irr引擎使用。
跨平台。
支持2D和3D的流音频播放。
支持回声,失真,多普勒等多种2D3D音频特效。
支持多种音频格式:wav, mp3, ogg, mod, xm, it, s3m „等等。
高级资源管理和资源探测。
提供了具有可扩展型的音频解码器和plugin系统。
免费。
更详细的信息,您可以从这里获得http://www.ambiera.com/irrkl
DarthVader 2009-10-22
  • 打赏
  • 举报
回复
网上搜索一下 相关文章不少的
这是我给的推荐网址:
http://www.un4seen.com/

要看实例,建议去下一个Popcap的SDK,里面演示了如何使用Bass库
强大且简单
DarthVader 2009-10-22
  • 打赏
  • 举报
回复
第三方开源DLL?
那么Bass库是比较合适的了
Popcap游戏框架里面用的就是Bass

Zuma/贪吃鱼/植物大战僵尸/宝石迷阵....

都是用的这个
MP3/OGG/WAV/MO3.... 都支持
Ryan裤子 2009-10-21
  • 打赏
  • 举报
回复
用DirectShow,注册相关解码组件

HRESULT hr;
hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&m_pGB);

hr = m_pGB->RenderFile( File_Path, NULL);

就放出来咯.
_uniqs 2009-10-16
  • 打赏
  • 举报
回复
#11,你发到我的邮箱,uniqs@163.com。压缩成两份。谢谢。
该结贴了。发了我多给你几分^_^

另外问一N弱智的问题,我用。NET生成了一个基于对话框的小程序,不知道怎么改了下代码,生成的EXE在运行的时候上面的叉叉点了没效果。不知道为什么。我把功能性代码都注掉了还是叉不掉。我知道肯定是哪个小的地方出了问题。
还有VC6.0里的CTRL+W等等快捷键怎么。NET里一个都没有。。NET里的快捷键有人贴点出来送分~~谢谢~~
_uniqs 2009-09-29
  • 打赏
  • 举报
回复
Online,等待传说中的高手 专家 出现~~~~~~~~
_uniqs 2009-09-29
  • 打赏
  • 举报
回复
openAL支持两种,不支持MP3
_uniqs 2009-09-29
  • 打赏
  • 举报
回复
1楼的,不好意思,FMOD是收费的。。。
xingzhe2001 2009-09-29
  • 打赏
  • 举报
回复
FMOD将音频分为声音(sound)和音乐(music)两种.前者如:.MOD, .S3M, .XM, .IT, .MID, .RMI, .SGT or .FSB
等,后者如: .WAV, .MP2, .MP3, .OGG or .RAW等.二者使用不同的函数处理.都可以通过采样后流的方式来处理.不过小文件一般通过采样方式,它可以多次播放但占用内存.大文件通过流方式,减少内存消耗.
xingzhe2001 2009-09-29
  • 打赏
  • 举报
回复
http://blog.csdn.net/cnjet/archive/2005/10/17/506104.aspx这篇文章有例子
#include <conio.h>
#include "inc/fmod.h"

FSOUND_STREAM* handle;

void main ()
{
//init FMOD sound system
FSOUND_Init (44100, 32, 0);

//load and play sample
handle=FSOUND_Stream_Open("sample.mp3",0, 0, 0);
FSOUND_Stream_Play (0,handle);

//wait until the users hits a key to end the app
while (!_kbhit())
{
}

//clean up
FSOUND_Stream_Close(handle);
FSOUND_Close();
}

这是个简单播放mp3的例子
xingzhe2001 2009-09-29
  • 打赏
  • 举报
回复
http://www.fmod.org/ fmod, 开源声音播放库,可以支持n多种格式
glacier3d 2009-09-29
  • 打赏
  • 举报
回复
差不多20M呢,怎么给你,我记我以前也是网上下的
_uniqs 2009-09-29
  • 打赏
  • 举报
回复
8楼的大哥你有这本书的源代码么有的话我送分给你
_uniqs 2009-09-29
  • 打赏
  • 举报
回复
7楼的大哥,你写一个我看看啊,我要能写在这浪费青春呢。。。
glacier3d 2009-09-29
  • 打赏
  • 举报
回复
《游戏音频程序设计-Beginning.Game.Audio.Programming》书上的不行吗?
xqhrs232 2009-09-29
  • 打赏
  • 举报
回复
自己写啊!

8,304

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧