Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Suchergebnisse

Suchergebnisse 1-20 von insgesamt 49.

Werbeanzeige

27.11.2009, 16:48

Forenbeitrag von: »CrazyPlaya«

RTP Pakete senden fehlerhaft

Zitat RFC3550 If an audio application reads blocks covering 160 sampling periods from the input device, the timestamp would be increased by 160 for each such block, regardless of whether the block is transmitted in a packet or dropped as silent. The initial value of the timestamp SHOULD be random, as for the sequence number. Genauso mach ich es. Ein Zufallswert initialisiert den zeitstempel und für jedes neue Paket wird 160(20ms) aufgerechnet. Ebensogroß wie der zu übertragende Payload ist. Als...

27.11.2009, 15:51

Forenbeitrag von: »CrazyPlaya«

RTP Pakete senden fehlerhaft

Aber du weißt nicht zufällig warum wenn ich RTP Pakete versende und zwar VOIP technisch über einen Gateway(Asterisk) wie so dann die Ausgabe an einem IP Phone viel zu schnell ist. Mache ich bei nach jedem Senden eine Pause von 15ms rein wird halbwegs normal abgespielt. Setze ich die Pause auf 10ms ist das Abspielen zu schnell und setze ich auf 20ms dann leiert die Ausgabe wie eine langsam abgespielte Schallplatte. Timestamp und SequenceNummer werden korrekt übertragen.

27.11.2009, 11:48

Forenbeitrag von: »CrazyPlaya«

RTP Pakete senden fehlerhaft

Hallo an alle, vorab mal die Frage kennt sich hier jemand mit dem RTP Protokoll aus? Gruß CrazyPlaya

22.05.2009, 14:08

Forenbeitrag von: »CrazyPlaya«

Abtastauflösung bei Audio erhöhen

Vllt. kurz zu Veranschaulichung. Ich habe mein sample in einem short* mit der größe 160. Meine Frage ist nun wie iteriere ich durch das array und wie komme ich an die 13 bits? Dann shifte ich nach links(vermutlich) oder nach rechts. oder so? C-/C++-Quelltext 1 2 3 4 for (int i = 0; i < 160; i++) { myarray[i] = myarray[i] << 3; } Versteh ich das so richtig?

22.05.2009, 13:38

Forenbeitrag von: »CrazyPlaya«

Abtastauflösung bei Audio erhöhen

Ja das hab ich gerade schon mal gehört mit dem Bitshift um 3. Allerdings weiß ich noch nicht genau wie das funktioniert. Hab noch nie mit Bitoperationen gearbeitet.

22.05.2009, 11:33

Forenbeitrag von: »CrazyPlaya«

Abtastauflösung bei Audio erhöhen

Hallo an alle, ich bekomme von einem GSM Decoder ein 160byte großes 13bit aufgelöstes PCM Sample zurück. Mein Player braucht dieses Sample aber in 16bit. Wenn ich das 13bit sample abspiele habe ich Klirrgeräusche dabei. Wie kann ich von 13 auf 16bit erhöhen? Gruß Karsten

07.04.2009, 11:46

Forenbeitrag von: »CrazyPlaya«

Automatische Regelung einer Sound Aufzeichnung DirectX

Hi PCShadow, könntest du das etwas näher erklären? Hätte da noch eine grundlegende Frage. Die Werte, die im Samplebuffer vorhanden sind ist doch die Bandbreite richtig?

06.04.2009, 15:02

Forenbeitrag von: »CrazyPlaya«

Automatische Regelung einer Sound Aufzeichnung DirectX

Hi an alle, ich würde gerne die Lautstärke einer Aufnahme von einem Mikrofon automatisch regeln. Sprich ich möchte erreichen das die Lautstärke immer zwischen einem Min- und Maxwert liegt. Wenn Min unterschritten wird soll auf den Min Wert hochgepuscht und wenn max überschritten wird auf den Max Wert runtergepuscht werden. Was genau muss ich tun um dies zu erreichen? Gruß Karsten

16.01.2009, 09:06

Forenbeitrag von: »CrazyPlaya«

Unlock von LPDIRECTSOUNDBUFFER endet mit E_INVALIDARG

Ok Problem gelöst. Lag daran, dass Unlock keinen LPVOID* verlangt. Die Derefenzierung rausgenommen und jetzt klappt es Gruß

15.01.2009, 17:34

Forenbeitrag von: »CrazyPlaya«

Unlock von LPDIRECTSOUNDBUFFER endet mit E_INVALIDARG

Hi an alle, ich möchte einen Wave Sound mit DSound abspielen. Dieser Sound ist als Wave Resource eingebunden. Also lade ich zuerst die Resource. Das funzt auch. Dann Initialisiere ich directsound, lese die Wave Information aus, kreiere den Buffer und möchte den Sound dann abspielen. Locken tut er noch, Speicher kopieren ebenfalls aber bei Unlock halt ausgang mit E_INVALIDARG. Hier mal mein Code: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ...

21.11.2008, 14:04

Forenbeitrag von: »CrazyPlaya«

Knistern nach Aufzeichnung von Mikrofon

Hi an alle, ich zeichne Sprache vom Mikrofon auf. Diese wird in einem Ringbuffer festgehalten. Ab einer bestimmten Größe wird ein Teilbuffer an eine Methode weitergeleitet. Dort wird da ganze runtergesampelt von 16000 auf 8000hz. Vorher läuft ein FIR Filter darüber. Das ganze wird dann uLaw encodiert und via RTP an ein IP Telephone gesendet. Die Ausgabe am Telefon beinhaltet aber ein sehr störendes Knistern. Der FIR Filter scheint in Ordnung zu sein. Könnte es am Buffer oder am Offset liegen? Hi...

17.10.2008, 14:55

Forenbeitrag von: »CrazyPlaya«

Knacken nach runtersamplen von 48kHz PCM auf 8kHz

Hi an alle, ich zeichne Sprache vom Mikrofon mit DirectSound in einem RingBuffer auf. Und zwar mit 48kHz 16bit PCM. Dabei fange ich alle 20ms aufgezeichnetes ab. Dieses 20ms Sample nehme ich nun und sample es auf 8kHz runter. C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 int CAudioOut::Reduce48to8kHz(short* pBuffer, int nBytesToReduce) { ASSERT((nBytesToReduce % 6) == 0); short* pSrc = pBuffer; short* pDst = pBuffer; for(int i = 0; i < (nBytesToReduce / 6); i++) { long val = 0; v...

08.10.2008, 11:20

Forenbeitrag von: »CrazyPlaya«

Mikrofon auswählen direct x

Problem gelöst, Für Mikrofone benutze ich DirectSoundCaptureEnumerate und für Lautsprecher DirectSoundEnumerate

08.10.2008, 09:13

Forenbeitrag von: »CrazyPlaya«

Mikrofon auswählen direct x

Guten Morgen allerseits, gibt es über DirectX die Möglichkeit alle angeschlossenen Mikrofon bzw. Lautsprecher aufzulisten und diese dann über eine ID für die Aufzeichnung bzw. das Abspielen von Sounds zu nutzen? Also z.B. habe ich einmal ein Mikro im Laptop eingebaut und normaler Lautsprecherboxen angeschlossen und zum 2.ten habe ich gleichzeitig ein USB Headset angeschlossen. etzt möchte ich als Nutzer halt auswählen können über welches Mikro ich aufzeichne und über welche lautsprecher ich absp...

26.08.2008, 15:03

Forenbeitrag von: »CrazyPlaya«

[Erledigt] Thread über die gesamte Programmlaufzeit

Ok das sich Thread und Programm den Speicher teilen war mir schon bewusst. Allerdings muss ich ja auch ehrlich gestehen dass ich das erste Mal in der Art mit Threads in Berührung komme. Ich habe zwar schon mal ein bisserl damit rumgetestet allerdings noch nie so intensiv. Und das ist ja doch ein ziemlich komplexes Thema. Soweit habe ich das bisher verstanden. Also erstmal danke für die vielen Infos und Hilfen, versuch jetzt erstmal wieder alleine damit klar zu kommen. Falls ich dennoch Fragen ha...

26.08.2008, 14:19

Forenbeitrag von: »CrazyPlaya«

[Erledigt] Thread über die gesamte Programmlaufzeit

@knivil: ich weiß nicht recht ob select für mein vorhaben einen Sinn macht, da der Server der mir was schickt immer der gleiche ist.

26.08.2008, 14:15

Forenbeitrag von: »CrazyPlaya«

[Erledigt] Thread über die gesamte Programmlaufzeit

@dot: Im Moment für Windows soll aber später auch unter Linux laufen. @knivil: Verstehe ich das richtig? bot_done ist praktisch mein queue und die Schleife wird im Thread ausgeführt? Könntest du das Snippet kurz erläutern? Ich muss gestehen jetzt wird es etwas schwierig für mich.

26.08.2008, 13:49

Forenbeitrag von: »CrazyPlaya«

[Erledigt] Thread über die gesamte Programmlaufzeit

Ja klar habe ich mich schon ein wenig mit Multithreading auseinander gesetzt aber zu sowas speziellen nichts finden können. Die Tutorials die ich finden konnten behandeln im Thread eine Sache und dann wird er wieder beendet.

26.08.2008, 13:45

Forenbeitrag von: »CrazyPlaya«

[Erledigt] Thread über die gesamte Programmlaufzeit

Und wie macht man das? Entschuldige meine Unwissenheit Vllt. ein beispiel dazu. Wenn die Anwendung jetzt eine Art Messenger wäre dann empfange ich eine Message vom Gegenüber. Darüber möchte ich Informiert werden und diese soll mir im Hauptprozess ausgegeben werden. Darauf möchte ich dann ebenfalls eine Antwort schreiben und das ganze Spiel bis die Sitzung beendet ist. Aber der thread muss dennoch offen bleiben da mir ja auch jemand anderes schreiben könnte. Lassen wir jetzt erst mal weg das mich...

26.08.2008, 13:37

Forenbeitrag von: »CrazyPlaya«

[Erledigt] Thread über die gesamte Programmlaufzeit

Na ja ich wüde das evtl über den ExitCode machen, also z.B. über return xxx bei bestimmten Nachrichten. Oder wenn es mehrere Daten wären evtl. eine Struktur als Parameter mitgeben und die Werte dann dort reinschreiben. Oder muss ich die zwangsläufig die Reaktion auf die Nachrichten dem thread überlassen?

Werbeanzeige