Add MP3 music to your app (BASS.DLL API hacked out)
I don''t know if someone allready posted how to use the BASS.DLL yet. I know I asked for directions about a year ago and everyone ignored me. Well, I''m giving game programming another shot and wanted MP3 playablity, so I disassembled the BASS.DLL and figured out the API myself.
It is in Win32 C++. The class should work in MFC, if not, should be easy to adjust it. I didn''t bother to make a BAS file for Visual Basic (does anyone write in that anymore?)
Anyways, you all are free to use this class. There is a very small example on how to get it to work. If you have any questions, my e-mail is enclosed in the zip file.
http://www.mouseindustries.com/bassclass.zip
(If anyone wants this in a Visual Basic .BAS file, let me know and I will convert it over.)
Hi,
I''ve used FMOD 3.33 for playing WAV, MP3, ....
Check on "Download" section on my site.
========================
Leyder Dylan
http://ibelgique.ifrance.com/Slug-Production/
I''ve used FMOD 3.33 for playing WAV, MP3, ....
Check on "Download" section on my site.
========================
Leyder Dylan
http://ibelgique.ifrance.com/Slug-Production/
========================Leyder Dylan (dylan.leyder@slug-production.be.tf http://users.skynet.be/fa550206/Slug-Production/Index.htm/
August 15, 2001 12:27 PM
BASS is a commercial library available here:
http://www.un4seen.com/music/
I''m not sure why you would reverse-engineer the DLL - typing "Bass Audio Library" into Google to get the homepage (complete with downloads, examples, and sources)! It should be noted that BASS is a shareware/commercial library; it''s free if you wish to use it in freeware applications, and $100 for unlimited shareware.
http://www.un4seen.com/music/
I''m not sure why you would reverse-engineer the DLL - typing "Bass Audio Library" into Google to get the homepage (complete with downloads, examples, and sources)! It should be noted that BASS is a shareware/commercial library; it''s free if you wish to use it in freeware applications, and $100 for unlimited shareware.
ahh oh well.
It''s a hobbie of mine to reverse engineer stuff, so no harm done, and I had a good time
thanks for the info...
It''s a hobbie of mine to reverse engineer stuff, so no harm done, and I had a good time

thanks for the info...
Does anyone know how to play MP3''S in DirectX 8.0A. What does glExcess use? I assume it''s DirectSound but I am unsure of weather there is a function that decompresses and play''s MP3''S
Thanks
~Steve~
Thanks
~Steve~
I am not sure if DirectX8.0A can play mp3 music.
But i am pretty sure that glExcess uses the FMOD library. Its a free library.
Check out the credit list at the end of the glExcess Demo.
nvissing
But i am pretty sure that glExcess uses the FMOD library. Its a free library.
Check out the credit list at the end of the glExcess Demo.
nvissing
-Vissing-
To play MP3s in DirectX use DirectShow. There''s stuff on it in the DirectX documentation.
-------------------------------NeXe: NeHe DirectX-style. Follow the orange rabbit.
Before I start, I''m drunk 
Isn''t decompiling, reverse engineering illegal?
Oh well, what the hell! LoL!!!
Personally, I prefer FMOD as opposed to BASS as it''s (although more expenise to liscense (Not that I give a damn as all my stuff is freeware!!, but it is also easier to use and has more functions (IMHO)
For example, with FMOD, U can load a smaple into memory very simply, but with BASS, I kinda get confoosed (probably ''cause of the beer! LoL!!!)
But in general, FMOD seems to be a ''better'' lib
Any thoughts on this?
IE.. FMOD vs BASS!

Isn''t decompiling, reverse engineering illegal?
Oh well, what the hell! LoL!!!
Personally, I prefer FMOD as opposed to BASS as it''s (although more expenise to liscense (Not that I give a damn as all my stuff is freeware!!, but it is also easier to use and has more functions (IMHO)
For example, with FMOD, U can load a smaple into memory very simply, but with BASS, I kinda get confoosed (probably ''cause of the beer! LoL!!!)
But in general, FMOD seems to be a ''better'' lib
Any thoughts on this?
IE.. FMOD vs BASS!
reverse engineering is only illegal with programs that say so in the license (like Windows).
I''d also advise for FMOD or BASS over DirectShow.
~~~
Cheers!
Brett Porter
PortaLib3D : A portable 3D game/demo libary for OpenGL
I''d also advise for FMOD or BASS over DirectShow.
~~~
Cheers!
Brett Porter
PortaLib3D : A portable 3D game/demo libary for OpenGL
~~~Cheers!Brett PorterPortaLib3D : A portable 3D game/demo libary for OpenGLCommunity Service Announcement: Read How to ask questions the smart way before posting!
As someone before said "use dshow" and it is all documented in MSDN. If you dont have it... this is the source bellow...
The example is a console application.
#include "stdafx.h"
#include
#include
// I am having troubles showing includes between <
// and > , if you see nothing after #include,
// there should be windows.h and dshow.h
int main(int argc, char* argv[])
{
IGraphBuilder *pGraph;
IMediaControl *pMediaControl;
IMediaEvent *pEvent;
CoInitialize(NULL);
// Create the filter graph manager and query for interfaces.
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
// Build the graph.
pGraph->RenderFile(L"D:\\YOUR.MP3", NULL);
// Run the graph.
pMediaControl->Run();
// Wait for completion.
long evCode;
pEvent->WaitForCompletion(INFINITE, &evCode);
// Clean up.
pMediaControl->Release();
pEvent->Release();
pGraph->Release();
CoUninitialize();
return 0;
}
Edited by - Feldi on August 17, 2001 5:56:00 PM
The example is a console application.
#include "stdafx.h"
#include
#include
// I am having troubles showing includes between <
// and > , if you see nothing after #include,
// there should be windows.h and dshow.h
int main(int argc, char* argv[])
{
IGraphBuilder *pGraph;
IMediaControl *pMediaControl;
IMediaEvent *pEvent;
CoInitialize(NULL);
// Create the filter graph manager and query for interfaces.
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
// Build the graph.
pGraph->RenderFile(L"D:\\YOUR.MP3", NULL);
// Run the graph.
pMediaControl->Run();
// Wait for completion.
long evCode;
pEvent->WaitForCompletion(INFINITE, &evCode);
// Clean up.
pMediaControl->Release();
pEvent->Release();
pGraph->Release();
CoUninitialize();
return 0;
}
Edited by - Feldi on August 17, 2001 5:56:00 PM
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement