Post
by Cleves » Tue Sep 23, 2003 7:49 pm
Seems i have a problem with me audiere too....damn..here is my full code i hope you can help me:
#include <irrlicht.h>
#include <wchar.h>
#include <audiere.h>
using namespace audiere;
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
#pragma comment(lib, "Irrlicht.lib")
#pragma comment(lib, "audiere.lib")
ICameraSceneNode* camera = 0;
ISceneNode* skyboxNode;
class MyEventReceiver : public IEventReceiver
{
public:
virtual bool OnEvent(SEvent event)
{
if (camera)
return camera->OnEvent(event);
return false;
}
};
int main()
{
MyEventReceiver receiver;
IrrlichtDevice *dvc =
createDevice(DT_DIRECTX8, dimension2d<s32>(800, 600), 32, false, false, &receiver);
AudioDevicePtr device(OpenDevice());
if (!device) {
//failure
}
OutputStreamPtr stream(OpenSound(device, "Data\\theme.mp3", true));
if (!stream) {
// failure
}
stream->setRepeat(true);
stream->setVolume(0.5f); // 50% volume
stream->play();
IVideoDriver* driver = dvc->getVideoDriver();
ISceneManager* smgr = dvc->getSceneManager();
IAnimatedMesh* scout = smgr->getMesh("Data/scout.3DS");
ISceneNode* node = 0;
//IAnimatedMesh* ast = smgr->getMesh("Data/ast.3DS");
//ISceneNode* node2 = 0;
if(scout){
node = smgr->addOctTreeSceneNode(scout->getMesh(0));
//node2 = smgr->addOctTreeSceneNode(ast->getMesh(0));
node->setPosition(vector3df(0,0,0));
node->setMaterialFlag(EMF_LIGHTING, false);
//node2->setPosition(vector3df(0,0,30));
//node2->setMaterialFlag(video::EMF_LIGHTING, false);
};
skyboxNode = smgr->addSkyBoxSceneNode(
driver->getTexture("Data/stars.jpg"),
driver->getTexture("Data/stars.jpg"),
driver->getTexture("Data/stars.jpg"),
driver->getTexture("Data/stars.jpg"),
driver->getTexture("Data/neb1.bmp"),
driver->getTexture("Data/stars.jpg"));
camera = smgr->addCameraSceneNodeFPS();
dvc->getCursorControl()->setVisible(false);
int lastFPS = -1;
while(dvc->run())
{
driver->beginScene(true, true, video::SColor(0,100,100,100));
smgr->drawAll();
driver->endScene();
int fps = driver->getFPS();
if (lastFPS != fps)
{
wchar_t tmp[1024];
swprintf(tmp, 1024, L"Scout (fps:%d) Triangles:%d",
fps, driver->getPrimitiveCountDrawn());
dvc->setWindowCaption(tmp);
lastFPS = fps;
}
}
dvc->drop();
return 0;
}
Big thanks!