Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
fkrauthan Junior JLI'ler
Alter: 33 Anmeldedatum: 10.04.2005 Beiträge: 96 Wohnort: Germering Medaillen: Keine
|
Verfasst am: 19.01.2008, 18:19 Titel: OpenAL Problem |
|
|
Hallo,
Ich arbeite mich seit kurzem in OpenAL ein. Mein Problem ist das der DeviceName nicht erkannt wird hier mal der Code:
Code: |
pDevice = alcOpenDevice(NULL);
if(pDevice) {
pContext = alcCreateContext(pDevice, NULL);
if(pContext) {
alcMakeContextCurrent(pContext);
szDeviceNames = (char*)alcGetString(pDevice, ALC_DEVICE_SPECIFIER);
|
Also szDeviceNames Bleibt leer was zur folge hat das mein Programm Probleme hat weiterzuarbeiten mit den Daten. Hat jeman eine Idee?
Ich hoffe es gehört hier rein und nicht in das DirectX und OpenGL Board. _________________
"Die Codeschleuder" das Spieleprogrammierer Magazin |
|
Nach oben |
|
|
fkrauthan Junior JLI'ler
Alter: 33 Anmeldedatum: 10.04.2005 Beiträge: 96 Wohnort: Germering Medaillen: Keine
|
|
Nach oben |
|
|
Chriss Senior JLI'ler
Anmeldedatum: 18.08.2004 Beiträge: 267
Medaillen: Keine
|
Verfasst am: 21.01.2008, 14:59 Titel: |
|
|
Naja ich arbeiten eigentlich nicht mit OpenAL aber 1 min suchen hat mir folgendes gezeigt
Zitat: |
Nun definieren wir die Ausgabe. Zuerst setzen wir das Ausgabegerät mit device := alcOpenDevice('DirectSound3D'); auf die primäre DirectSound Ausgabe. Danach holen wir uns mit context := alcCreateContext(device, Nil); einen GeräteContext und aktivieren diesen mit alcMakeContextCurrent(context);.
|
http://www.gamedev.net/reference/articles/article1958.asp hat Folgendes geschrieben: |
The first thing to do is to obtain the OpenAL SDK. This can be obtained from Creative Labs developer site at developer.creative.com. Once the SDK is set up you can begin using its functions. You will first need to initialize OpenAL at the start of your game or application. For my application I am going to use the basic method of setting it up for DirectSound3D but it is also possible to make use of EAX by checking for its availability. The initialization code looks like this:
CPP: | ALCcontext *Context;
ALCdevice *Device;
Device = alcOpenDevice((ALubyte*)"DirectSound3D");
if (Device == NULL)
{
exit(-1);
}
//Create context(s)
Context=alcCreateContext(Device,NULL);
//Set active context
alcMakeContextCurrent(Context);
// Clear Error Code
alGetError();
|
|
Du darfst bei der Funktion alcOpenDevice also nucht NULL übergeben sondern musst schon sagen was du willst. |
|
Nach oben |
|
|
fkrauthan Junior JLI'ler
Alter: 33 Anmeldedatum: 10.04.2005 Beiträge: 96 Wohnort: Germering Medaillen: Keine
|
Verfasst am: 21.01.2008, 15:12 Titel: |
|
|
Doch man darf NULL übergeben. Dabei sollte er sich dann das für die Ziel Plattform beste aussuchen. Das habe ich zumindest in den Meisten Tuts gelesen. Der Befehl selber wirf ja keine Fehler und er kriegt auch sein Object usw. Das Problem ist der letzte befehl sinfolstemwelcher aus irgendeinem Grund nicht den String mit allen verfügbaren Sound geräten zu gibt. _________________
"Die Codeschleuder" das Spieleprogrammierer Magazin |
|
Nach oben |
|
|
Deviloper Junior JLI'ler
Anmeldedatum: 31.05.2006 Beiträge: 77
Medaillen: Keine
|
Verfasst am: 21.01.2008, 15:24 Titel: |
|
|
Was sagt denn alcGetError() ? |
|
Nach oben |
|
|
fkrauthan Junior JLI'ler
Alter: 33 Anmeldedatum: 10.04.2005 Beiträge: 96 Wohnort: Germering Medaillen: Keine
|
|
Nach oben |
|
|
|