Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Was gerade läuft aufnehmen (https://www.delphipraxis.net/7603-gerade-laeuft-aufnehmen.html)

sCrAPt 17. Aug 2003 03:18


Was gerade läuft aufnehmen
 
Hi.
Wie kann ich aufnehmen was grad auf dem Rechner für Musik läuft? Aber ohne Micro...

flomei 17. Aug 2003 13:00

Re: Was gerade läuft aufnehmen
 
Möchtest du einen Stream speichern oder Musik die von Festplatte abgespielt wird ;) ?
Wenn du einen Stream speichern willst: Es gibt unzählige Programme die Streams z.B. als MP3 auf Platte speichern können. Such mal ein wenig auf www.download.com oder www.winload.de nach solchen Programmen. Ich bin mir sicher, dass du einige finden wirst.

MfG Florian :hi:

Gandalfus 17. Aug 2003 13:14

Re: Was gerade läuft aufnehmen
 
Stichworte

bass.dll

mci

sCrAPt 17. Aug 2003 14:26

Re: Was gerade läuft aufnehmen
 
Ich möchte die aufnehmen die gerade auf dem Rechner läuft. egal ob beep; oder Winamp etwas spielt....
Bass.dll ist schön und gut, nur wenn ich das programm verkaufen möchte (das ich auch vor habe) muss ich ja 1000$ herblettern......

Gandalfus 17. Aug 2003 18:09

Re: Was gerade läuft aufnehmen
 
Privatpersonen nur 100 oder willst du das eine Firma verkaufen?

Ansonsten halt mal über MCI oder Directsound informieren.

sCrAPt 17. Aug 2003 22:32

Re: Was gerade läuft aufnehmen
 
Einer Firma

S - tefano 17. Aug 2003 22:52

Re: Was gerade läuft aufnehmen
 
Ich weiß nicht ob das nur bei Creative geht, oder ob man da einfach nur ne andere Lautstärkeregelungssoftware braucht, aber in der Lautstärkeregelung von Creative kann man als Aufnahme Quelle neben Mikrofon etc. auch "What you hear" auswählen.

Wie das allerdings geht, keine Ahnung. Aber wie gesagt, mit anderer Software für Lautstärkeregelung müsste dass ja eigentlich auch gehen.

Aber mit so Sachen wie der BassDLL oder FMOD müsste das auch gehen. Aber damit ist dein Problem mit der Lizensierung ja noch nicht gelöst. Und ich glaub nicht dass du sowas als Freeware findest selbst wenn dus verkaufen willst.

Wirst dir das also vermutlich selbermachen müssen... kann mir nicht vorstellen dass das einfach ist.

Bis dann,

S - tefano

Matze 19. Aug 2003 19:40

Re: Was gerade läuft aufnehmen
 
Guten Abend!

Stichwort: overmoon

Was das ist? Also sowas...

Er hat RatRec programmiert, alles klar? Nicht? Dann schau mal hier:

http://www.delphipraxis.net/internal...ect.php?t=8515

Vielleicht kann er dir helfen. :wink:

Gruß Matze

overmoon 20. Aug 2003 16:24

Re: Was gerade läuft aufnehmen
 
Also Dinge aufnehmen geht mit Delphi und der Unit mmSystem richtig einfach.

Der Schlüssel ist die Prozedur "mciSendString". Über diese Prozedur kann man die Komplette Aufnahme des Wave-Files machen.

1.) Wir müssen ein Audiogerät öffnen. Ich nenne es einfach mal "mySound".

Delphi-Quellcode:
mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mySound',nil,0,Handle);
2.) Nun müssen wir die Optionen für die Audioaufnahme einstellen. Da für gibt es einige Einstellungen:

- BitsPerSample (Wie genau wird ein analoger Wert abgetastet; meist 8 oder 16)

- Channels (Mono(1) oder Stereo (2))

- SamplesPerSec (Abtastungen pro Sekunde; 800,11025,22050,44100)

Damit wäre eigentlich alles angegeben, was man braucht. Damit es funktioniert, müssen noch zwei weitere Dinge angegeben werden. Lässt man diese weg, gibt es Probleme.

- BytesPerSec (= (BitsPerSample div 8)*Channels*SamplesPerSec )

- Alignment (= Channels*(BitsPerSample div 8) )

Die Prozedur zum Einstellen der Einstellungen sieht dann folgendermaßen aus:

Delphi-Quellcode:
mciSendString('SET mySound ' +
                   'TIME FORMAT MS ' +
                   'BITSPERSAMPLE 16 ' +
                   'CHANNELS 2 ' +
                   'SAMPLESPERSEC 44100 ' +
                   'BYTESPERSEC 176400 ' +
                   'ALIGNMENT 4',
                   nil,0,handle);
3.) Das Starten der Aufnahme:

Das folgende erklärt sich eigentlich von selbst:

Delphi-Quellcode:
mciSendString('RECORD mySound',nil,0,Handle);
4.) Genauso einfach ist das Stoppen der Aufnahme:

Delphi-Quellcode:
mciSendString('STOP mySound',nil,0,Handle);
5.) Nach erfolgter Aufnahme wollen wir die Datei natürlich nicht im Nirvana des OS verschwinden lassen... wir müssen sie speichern.

Das geht folgendermaßen:

Delphi-Quellcode:
mciSendString('SAVE mySound "c:\datei.wav"',nil,0,Handle);

6.) Schließlich muss man noch das Audiogerät "mySound", welches man am Anfang geöffnet hatte, schließen.

Delphi-Quellcode:
mciSendString('CLOSE mySound',nil,0,Handle);
Und wir sind fertig mit der Aufnahme.

7.) Weitere Aufgaben, die man über "mciSendString" machen kann sind z.B. noch: PLAY, WAIT und LOAD

overmoon 20. Aug 2003 16:30

Re: Was gerade läuft aufnehmen
 
Die Aufnahmen werden nur leider recht groß, deshalb macht sich eine Konvertierung zu Mp3 recht gut.

Dazu bietet sich der lame - Encoder an.

Den bekommst du hier:
http://lame.sourceforge.net/

Dort bekommst du die lame_enc.dll und die lame.exe .
Kannst du eigentlich nehmen, was du willst, konvertieren beide brav waves nach Mp3.

Die lame.exe musst du z.B. einfach mit entsprechenden Parametern aufrufen.


Zur Lizenz vom Lame_Ecoder:

Zitat:

Can I use LAME in my commercial program?

Yes, you can, under the restrictions of the LGPL. The easiest
way to do this is to:

1. Link to LAME as separate library (libmp3lame.a on unix or
lame_enc.dll on windows)

2. Fully acknowledge that you are using LAME, and give a link
to our web site, www.mp3dev.org

3. If you make modifications to LAME, you *must* release these
these modifications back to the LAME project, under the LGPL.

Klingt doch ganz gut, oder ?

overmoon


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 Uhr.
Seite 1 von 3  1 23      

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