首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

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

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

高分求C/C++的播放MP3/OGG/WAV三个格式的DIRECTX实现的最简单的代码
高分求C/C++的播放MP3/OGG/WAV三个格式的DIRECTX实现的最简单的代码,这一块我以前没有接触过,现在手上只有一个是用COM做的能播放WAV格式,要求最好是DIRECTX的,最坏是使用了第三方的DLL,但是必需是开源的,不想跟人打官司。谢谢

[解决办法]
http://www.fmod.org/ fmod, 开源声音播放库,可以支持n多种格式
[解决办法]
http://blog.csdn.net/cnjet/archive/2005/10/17/506104.aspx这篇文章有例子

C/C++ code
#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();}
[解决办法]
FMOD将音频分为声音(sound)和音乐(music)两种.前者如:.MOD, .S3M, .XM, .IT, .MID, .RMI, .SGT or .FSB
等,后者如: .WAV, .MP2, .MP3, .OGG or .RAW等.二者使用不同的函数处理.都可以通过采样后流的方式来处理.不过小文件一般通过采样方式,它可以多次播放但占用内存.大文件通过流方式,减少内存消耗.
[解决办法]
自己写啊!
[解决办法]
《游戏音频程序设计-Beginning.Game.Audio.Programming》书上的不行吗?
[解决办法]
差不多20M呢,怎么给你,我记我以前也是网上下的
[解决办法]
用DirectShow,注册相关解码组件

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

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

就放出来咯.
[解决办法]
第三方开源DLL?
那么Bass库是比较合适的了
Popcap游戏框架里面用的就是Bass

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

都是用的这个
MP3/OGG/WAV/MO3.... 都支持
[解决办法]
网上搜索一下 相关文章不少的
这是我给的推荐网址:
http://www.un4seen.com/

要看实例,建议去下一个Popcap的SDK,里面演示了如何使用Bass库
强大且简单
[解决办法]
你也可以参考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

热点排行