| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| peterbub JLI'ler
 
 
 
 Anmeldedatum: 24.07.2005
 Beiträge: 109
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 09.01.2006, 18:24    Titel: wie kann ich die Tonhöhe verändern |   |  
				| 
 |  
				| Hallo, 
 ich benutze DXAudio und möchte die Tonhöhe eines Sounds verändern.
 
 z.B. wie bei einem Autorennen
 
 Gruss
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| The Lord of Programming Living Legend
 
  
 Alter: 38
 Anmeldedatum: 14.03.2003
 Beiträge: 3122
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 09.01.2006, 18:39    Titel: |   |  
				| 
 |  
				| Ich habs zwar noch net ausprobiert, aber IDirectSoundBuffer8::SetFrequency() sollte dabei helfen. Als einzigen Parameter brauchst du nur die Frequenz in Hertz angeben(DWORD).
 _________________
 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 |  | 
	
		|  | 
	
		| peterbub JLI'ler
 
 
 
 Anmeldedatum: 24.07.2005
 Beiträge: 109
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 10.01.2006, 04:16    Titel: |   |  
				| 
 |  
				| Hmm 
 kann ich dann einfach:
 
 
  	  | Code: |  	  | void DirectXAudio::PlayBackgroundMusic(void)
 {
 lpPerformance->PlaySegmentEx(
 lpSegBackgroundMusic,           // abzuspielendes Segment
 NULL,
 NULL,
 DMUS_SEGF_SECONDARY,  // im sekundären Buffer
 0,                    // Stelle, an der gestartet werden soll
 NULL,
 NULL,
 NULL
 );
 
 IDirectSoundBuffer8::SetFrequency(100);  // ( das geht nicht)
 
 }
 
 | 
 
 es kann auch Lautstärke (Volume) sein, ist egal ( ich möchte es  ja nur verstehen )
 ich weiss nicht wie das geht !
 
 
 
 Gruss
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| =]Mid[=]Night[= Super JLI'ler
 
  
 
 Anmeldedatum: 20.11.2002
 Beiträge: 380
 Wohnort: Aachen
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 10.01.2006, 13:14    Titel: |   |  
				| 
 |  
				| Du musst, denk ich mal, auch die Methode des Objektes aufrufen, das du meinst .. falls das jetzt lpSegBackgroundMusic ist: 
 
  	  | Code: |  	  | 
 lpSegBackgroundMusic->SetFrequency(<irgendwas>)
 
 
 | 
 
 [edit]
 Wahrscheinlich hast du den Code aus dem Buch, da ist das ein IDirectMusicSegment8* und kein IDirectSoundBuffer8*, dieses Interface hat keine SetFrequency-Funktion.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| peterbub JLI'ler
 
 
 
 Anmeldedatum: 24.07.2005
 Beiträge: 109
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 10.01.2006, 16:19    Titel: |   |  
				| 
 |  
				| und wie kann ich dann IDirectSoundBuffer8  benutzen ??  |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Jonathan_Klein Living Legend
 
  
 Alter: 38
 Anmeldedatum: 17.02.2003
 Beiträge: 3433
 Wohnort: Siegerland
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 10.01.2006, 16:26    Titel: |   |  
				| 
 |  
				| Der Soudnbuffer ist im Prinzip ein Speicherbereich in dem einfach die Daten im wav. Format gepseichert sidn (so wie bmp bei dnen Texturen). Im Buch von Scherfgen wird das behandelt, dort wrd eine wav-Datei manuell ausgelesen und in den Buffer geschrieben, was nicht ganz einfach ist (ist halt umständlich und so). _________________
 https://jonathank.de/games/
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |