1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-23 22:53:52 +00:00
openmw-tes3mp/tests/ogrevfs_audiere_openal_test.cpp
Nicolay Korslund 69e8f9c9db Renamed several dirs, files and classes. NOT TESTED.
- renamed imp_client/ to clients/ and ditto for servers/
- renamed imp/ to servers/
- renamed stream/input.h to stream/stream.h
- renamed Stream::InputStream to Stream::Stream
- updated various tests and makefiles
- NOT TESTED YET
2009-12-28 15:55:04 +01:00

52 lines
1 KiB
C++

/*
This example combines:
- the OGRE VFS system (to read from zip)
- Audiere (for decoding sound data)
- OpenAL (for sound playback)
*/
#include "sound/servers/openal_audiere.h"
#include "vfs/servers/ogre_vfs.h"
#include <Ogre.h>
#include <iostream>
using namespace Ogre;
using namespace Mangle;
using namespace std;
int main()
{
// Disable Ogre logging
new LogManager;
Log *log = LogManager::getSingleton().createLog("");
log->setDebugOutputEnabled(false);
// Set up Root
Root *root = new Root("","","");
// Add zip file with a sound in it
root->addResourceLocation("sound.zip", "Zip", "General");
// Ogre file system
VFS::OgreVFS vfs;
Sound::OpenAL_Audiere_Manager mg;
Sound::Sound *snd = mg.load(vfs.open("owl.ogg"));
Sound::Instance *s = snd->getInstance(false, false);
cout << "Playing 'owl.ogg' from 'sound.zip'\n";
s->play();
while(s->isPlaying())
{
usleep(10000);
if(mg.needsUpdate) mg.update();
}
if(s) s->drop();
if(snd) snd->drop();
return 0;
}