AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Audiostream vom Microphon
Thema durchsuchen
Ansicht
Themen-Optionen

Audiostream vom Microphon

Ein Thema von Zacherl · begonnen am 16. Okt 2006 · letzter Beitrag vom 30. Mär 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Audiostream vom Microphon

  Alt 16. Okt 2006, 19:05
Hi,

weiß jemand, wie ich einenen Audiostream vom Micorphon realisieren kann. Das ganze soll so aussehen, dass auf einen Cpmputer ein Indy TCP Client läuft, der den Input, der über den eingestellten Sound Eingang reinkommt an einen Server verschickt ... der Server soll dann auf dem anderen Computer den Stream kontinuierlich wiedergeben.

Danke Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Audiostream vom Microphon

  Alt 16. Okt 2006, 20:41
Hmm, einfach ist das glaube ich nicht, du kannst aber wenn ich mich richtig erinnere den Soundeingang über die mmsystem funktionen:

waveInOpen();
waveInPrepareHeader();
waveInAddBuffer();
waveInStart();

ansprechen.

Zuerst musst du waveInOpen aufrufen, das öffnet sozusagen den device, und du kannst ne Callbackfunktion angeben, in der kannst du dann deine Daten behandeln, außerdem musst du der Funktion nen Pointer auf ne TWAVEFORMATEX strucktur übergeben, darin sind die Infos, wie z.B. Sampelrate oder Anzahl der Kanäle(mono, stereo).

Danach musst du deine Daten preparieren mit der waveInPrepareHeader.
Diese übergibst du das Handel des devices, das du von waveINOpen bekomsmten hast(1. Parameter).
Sowie eine Adresse auf eine TWaveHdr Strucktur. Diese muss du mit deinem Buffer, Buffergröße und dwflag auf 0 füllen.

Jetzt musst du deine Infos an das Soundevice schicken. mit der waveInAddBuffer.
Wenn der buffer voll ist, wird das WHDR_DONE bit in der dwFlag vom TWaveHdr gesetzt, so kannst du in der callback funktion überprüfen, ob der buffer voll ist.

Um dann nun das Aufnehmen in den Buffer zu starten wird die waveInStart() aufgerufen.

So, ich weiß nicht ob das alles exakt stimm, ich weiß das nur von den Midi funktionen. Jedoch sehen die sehr ähnlich aus, nur das man hier eben noch den Soundtyp (TWAVEFORMATEX) angeben muss, sonst ist alles gleich.

Such am besten bei google wie du das machen kannst, ich kann gerne mal meinen code Posten, wie ich SysEx Commands über den Midiinput aufnehme!

Außerdem musst du mal gucken, welche Messages an die Callbackfunktion geschickt werden um zu wissen, wann du was aus dem buffer in deinen Stream speichern kannst.


Wie du das ganze dann per indy verschickst, kann ich dir nicht sagen aber ich denke das ist nicht umbedinngt das schwerste. Nur das du zuviele Daten haben wirst, für ne gute übertragung, daher wirst du bestimmt komprimieren müssen, so wie es auch TeamSpeak(ist ein Delphi programm) tut. Ich glaube dort wird unteranderem Speex zum komprimieren genutzt.


Hoffe, dass dir das Hilft.

Eichhoernchen
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Audiostream vom Microphon

  Alt 16. Okt 2006, 20:41
Hi,

das geht mit DEAudio. Im Event TDeAudioSource.OnAudioRecorded oder TDeAudioConvertorIn.OnAudioConverted kannst Du dann auf den Audiopuffer zugreifen und ihn so auf die Reise schicken:
Delphi-Quellcode:
Client.WriteInteger(AudioDataSize);
Client.WriteBuffer(AudioData^, AudioDataSize);
Beim Empfang dann im TIdTCPServer.OnServerExecute:
Delphi-Quellcode:
type
   TBuf = Array[1.32768] of byte;
...
var
   srvbuf : TBuf;
...
// Grösse lesen
Size:=AThread.Connection.ReadInteger;
// Datenpuffer lesen
AThread.Connection.ReadBuffer(SRvBuf, Size);
// Abspielen
deAudioOut.PlayAudio(@SrvBuf, Size);
[edit]Link korrigiert [/edit]
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Audiostream vom Microphon

  Alt 17. Okt 2006, 13:15
Hey danke euch beiden! Damit sollte ich es schaffen.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Audiostream vom Microphon

  Alt 17. Okt 2006, 16:20
hab HIER noch was dazu gepostet.
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: Audiostream vom Microphon

  Alt 17. Okt 2006, 20:46
Cool ... ich gucks mir gleich mal an.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
flossinger

Registriert seit: 22. Aug 2005
Ort: südlich der Alpen
109 Beiträge
 
Delphi 5 Standard
 
#7

Re: Audiostream vom Microphon

  Alt 21. Okt 2006, 21:37
Hallo,

das geht schon so, wie Eichhörnchen in Beitrag Nr. 2 schreibt. Nur sollte man durch die Verwendung von zwei Puffern das Knacken im Stream vermeiden. >>>==> Hier habe ich beschrieben wie das funktioniert.

grüsse,
der flossinger
  Mit Zitat antworten Zitat
thebier

Registriert seit: 29. Mär 2011
7 Beiträge
 
#8

AW: Audiostream vom Microphon

  Alt 29. Mär 2011, 20:02
Hi, ich weiß der Thread is schon etwas älter, aber kann mir einer helfen? Ich werd leider net schlau aus den Quellstücken
MfG thebier
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#9

AW: Audiostream vom Microphon

  Alt 29. Mär 2011, 22:07
nein
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
thebier

Registriert seit: 29. Mär 2011
7 Beiträge
 
#10

AW: Audiostream vom Microphon

  Alt 29. Mär 2011, 22:42
Danke für die qualifizierte Antwort. Das heißt für mich, kann oder will mir keiner helfen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz