JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=4becdfdf8362c51698060b64c8ed4c62Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Soundeffekte in Echtzeit

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Grafik und Sound
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 17.03.2003, 18:03    Titel: Soundeffekte in Echtzeit Antworten mit Zitat

Wisst ihr zufällig, wie man in VC++ Soundeffekte in Echtzeit anwendet, d.h. nicht ne wav-Datei mit Effekten verändert und dann abspeichert, sondern Programmintern verändert? Oder kennt ihr vielleicht irgendwelche tuts zu diesem Thema? Ich hab des glaub ich scho mal in nem Quellcode gesehn, aber ich versteh da nur Bahnhof. Da kamen auch ganz andere Variablen vor; nicht, wie's in Christians Buch(IDirectMusicLoader8, IDirectMusicPerformance8, IDirectMusicSegment8)
Wie zum ****** macht man so Effekte??? Ich würd sie gerne meine Spiele einbinden. Cool

Ich würde mich über eure Hilfe freuen! Very Happy
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 17.03.2003, 18:20    Titel: Antworten mit Zitat

Gugg dir mal die Libraries FMod und/oder BASS an. Da belegt jeder Sound einen "Channel" und man kann meines Wissens nach verschiedene Effekte darauf anwenden...

Jupp, hab grad nachgeguggt. Aus den BASS dokus:

Zitat:

HFX WINAPI BASS_ChannelSetFX(
DWORD handle,
DWORD type
);


Parameters
handle The channel handle... a HMUSIC or HSTREAM.
type One of the following types of effect.
BASS_FX_CHORUS Chorus. Use BASS_FXCHORUS structure to set/get parameters.
BASS_FX_COMPRESSOR Compression. Use BASS_FXCOMPRESSOR structure to set/get parameters.
BASS_FX_DISTORTION Distortion. Use BASS_FXDISTORTION structure to set/get parameters.
BASS_FX_ECHO Echo. Use BASS_FXECHO structure to set/get parameters.
BASS_FX_FLANGER Flanger. Use BASS_FXFLANGER structure to set/get parameters.
BASS_FX_GARGLE Gargle. Use BASS_FXGARGLE structure to set/get parameters.
BASS_FX_I3DL2REVERB I3DL2 (Interactive 3D Audio Level 2) reverb. Use BASS_FXI3DL2REVERB structure to set/get parameters.
BASS_FX_PARAMEQ Parametric equalizer. Use BASS_FXPARAMEQ structure to set/get parameters.
BASS_FX_REVERB Reverb. Use BASS_FXREVERB structure to set/get parameters. This effect can only be used with 16-bit channels.


Außerdem kann man EAX Effekte nutzen.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 18.03.2003, 16:15    Titel: Antworten mit Zitat

Danke scho mal so weit!!!

Weißt du auch, wie man die einsetzt? Geht des auch mit ner DirectXAudio-Initialisierung wie in Christians Buch?

PS: Hab in der MDSN nix darüber gefunden.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 18.03.2003, 16:25    Titel: Antworten mit Zitat

Nope ist viel einfacher, sind nur ein paar Funktionsaufrufe und alles läuft. Um den Sound zum funzen zu bringen hab ich insgesamt nur 5min gebraucht.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 18.03.2003, 16:41    Titel: Antworten mit Zitat

Hazel hat Folgendes geschrieben:
Nope ist viel einfacher, sind nur ein paar Funktionsaufrufe und alles läuft.


Was is Nope Question

Kannst du vielleicht einen Beispielcode posten?
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 18.03.2003, 18:52    Titel: Antworten mit Zitat

Nope heißt Nein.

Beispiel Codes... hmm, hier sind Auszüge aus meiner alten Sound-Engine:

Code:

BOOL CSoundSystem::Init(DWORD freq, HWND hWnd)
{
   if(!BASS_Init(-1, freq, /*BASS_DEVICE_NOSYNC*/0, hWnd))
      return FALSE;

   if(!BASS_Start())
      return FALSE;

   return TRUE;
}


void CSoundSystem::SetVolume(int sound, int music)
{
   BASS_SetGlobalVolumes(music, sound, -1);
}



BOOL CSoundSystem::PlaySample(int index, int pan)
{
   CSample * pSample = m_Samples[index];

   if(!pSample)
      return FALSE;

   if(!BASS_SamplePlayEx(pSample->GetHandle(), 0, -1, 50, pan, false))
      return FALSE;

   return TRUE;
}

Code:

BOOL CSample::Load(char * name)
{
   m_Handle = BASS_SampleLoad(FALSE, name, 0, 0, 3, BASS_SAMPLE_OVER_POS);

   if(!m_Handle)
      return FALSE;
   else
      return TRUE;
}

Code:

BOOL CMusic::Load(char * name)
{
   m_Handle = BASS_MusicLoad(FALSE, name, 0, 0, BASS_MUSIC_LOOP | BASS_MUSIC_RAMPS);
   
   if(!m_Handle)
      return FALSE;
   else
      return TRUE;
}


Leider unkommentiert, sorry. Lad dir am besten die Library(->Google) runter und gugg in die Dokus.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 26.04.2008, 08:46    Titel: Antworten mit Zitat

Ich hab mir auch mal FMOD runtergeladen und mir die Doku dazu angeschaut. Alles Nötige für 3D Sound habe ich auch in mein Testprojekt implementieren können. Jedoch konnte ich in der Doku und auch sonst nirgends kein Beispiel für die Anwendung von EAX bzw. den Reverbfunktionen von FMOD finden. Hat jemand ein Codeschnipsel, wie man einen einfachen Reverb anwendet?
_________________
Kein Rückzug! Kein Aufgeben!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Grafik und Sound Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum