AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mikrofon benutzen

Ein Thema von mandumoal · begonnen am 30. Mär 2003 · letzter Beitrag vom 24. Mär 2011
Antwort Antwort
mandumoal

Registriert seit: 20. Feb 2003
124 Beiträge
 
Delphi 5 Professional
 
#1

Mikrofon benutzen

  Alt 30. Mär 2003, 13:42
hi

ich möchte mittls mikrofon sound aufnehmen dann speichern , abspielen
ich habs schon mit mci probiert und folgenden code verwendet:
Code:

procedure TFormMain.RecordClick(Sender: TObject);
begin
         mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mysound',nil,0,handle);

   mciSendString('SET mysound TIME FORMAT MS ' +  // Zeitformat
                   'BITSPERSAMPLE 16 ' +           // 16 Bit
                   'CHANNELS 2 ' +                 // Stereo
                   'SAMPLESPERSEC 22050 ' +        // Frequenz (Hz)
                   'BYTESPERSEC 22050 ',          // 22050 Bytes/s
                   nil, 0, handle);
   

          mciSendString('RECORD mysound', nil, 0, handle);
end;
allerdings geht es nicht
wie kann ich denn prüfen ob überhaupt ein device geöffnet wurde bzw aufgenommen wird?
gibt es noch andere möglichkeiten mittels mikro aufzunehmen?
(ist das überhaupt die richtige methode? )

bitte helft mir!

mfg mandumoal
  Mit Zitat antworten Zitat
DeadEternity

Registriert seit: 1. Okt 2003
26 Beiträge
 
#2

Re: Mikrofon benutzen

  Alt 26. Nov 2003, 10:05
Versuchs mal damit, sollte eigentlich klappen
Code:
mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mySound',nil,0,Handle);
      mciSendString('SET mySound ' +
                   'TIME FORMAT MS ' +
                   'BITSPERSAMPLE 16 ' +
                   'CHANNELS 2 ' +
                   'SAMPLESPERSEC 44100 ' +
                   'BYTESPERSEC 176400 ' +
                   'ALIGNMENT 4',
                   nil,0,handle);
      mciSendString('RECORD mySound',nil,0,Handle);
      //Abspielen das Soundes
      sndPlaySound(MS.Memory, SND_MEMORY or SND_SYNC);
     
      MS.Free;

      //Beenden und speichern der Aufnahme
      mciSendString('STOP mySound',nil,0,Handle);
      mciSendString(PChar('SAVE mySound '+ aufnahme),nil,0,Handle);
      mciSendString('CLOSE mySound',nil,0,Handle);
MfG
  Mit Zitat antworten Zitat
Miggi

Registriert seit: 8. Jun 2004
Ort: Seelbach
7 Beiträge
 
Delphi XE Professional
 
#3

AW: Mikrofon benutzen

  Alt 24. Mär 2011, 15:34
Hallo Ihr, bin grad dabei eine Spezielle Spezial Wave Datei zu erzeugen, die aber mit jeder Sekunde eine neue Frequenz hat (also Hochläuft) um eine PulsweitenModulation zu simulieren..
und beim Suchen nach etwas bin ich hier hingestoßen und möchte mal für alle (Anfänger) was grundsätzliches schreiben:

mciSendString('SET mysound TIME FORMAT MS ' + // Zeitformat
'BITSPERSAMPLE 16 ' + // 16 Bit
'CHANNELS 2 ' + // Stereo
'SAMPLESPERSEC 22050 ' + // Frequenz (Hz)
----->>>> 'BYTESPERSEC 22050 ', // 22050 Bytes/s
nil, 0, handle);

An der mit ----->>>> markierten Stelle passieren die meisten Fehler, denn diese Zahl ist sehr einfach auszurechnen, aber auch korrekt anzugeben...

Die Bytes/Sekunde die durch den Stream laufen müssen, sind

Abtastfrequenz x (Mono (1) oder Stereo (2)) x Bytes/Sample (ist bei 16 Bit = 2)

Also ergibt sich bei o.a. Beispiel 22050 * 2 * 2 = 88200 BytesperSecond

Hoffe Neueinsteigern einen kleinen Verständigungs-Tipp gegeben zu haben

LG Michael
Michael
HUMMEL - gut - schnell - preiswert
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Mikrofon benutzen

  Alt 24. Mär 2011, 17:39
Nur dass der Beitrag von 2003 ist und man heute lieber mit BASS arbeiten sollte. Aber du hast recht, wer sich mit dem Rohformat von WAVE Daten auseinandersetzt und einen Header erstellen muss, könnte darüber stolpern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:02 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