2016-03-30 6 views
1

Hallo, ich bin ziemlich neu in Delphi, habe aber vorher programmiert.Wie nehme ich Audio mit dem TMediaPlayer in Delphi vom Mikrofoneingang auf?

Ich möchte Audio vom Mikrofoneingang eines Laptops aufnehmen. Tmediaplayer hat eine Record-Taste, aber ich kann die Dokumentation von http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/MPlayer_TMediaPlayer_StartRecording.html über die Verwendung nicht richtig verstehen.

Könnte jemand bitte einige Schritte aufführen, wie man es benutzt oder einen Beispielcode verlinkt, wo Tmediaplayer für die Aufnahme verwendet wird?

In welchem ​​Format ist die aufgenommene Datei gespeichert? Kann es ein Array mit den darin enthaltenen Daten sein oder handelt es sich um eine .WAV-Datei?

Jede Hilfe geschätzt und danke.

Antwort

2

Die Verwendung ist ziemlich einfach, mit dem TMediaPlayer.OnClick Ereignis. Diese Antwort basiert auf dem VCL.TMediaPlayer, da Sie nicht angegeben haben, welche UI-Bibliothek Sie verwenden.

procedure TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType; 
    var DoDefault: Boolean); 
begin 
    case Button of 
    btStop: 
     begin 
     MediaPlayer1.Stop; 
     MediaPlayer1.FileName := 'WhateverYouWant.wav'; 
     MediaPlayer1.Save; 
     end; 
    btRecord: MediaPlayer1.StartRecording; 
    end; 

Ich habe die anderen Tasten der Kürze halber weggelassen.

Der Dateityp wird durch die Eigenschaft.festgelegt, die vor dem Start der Aufzeichnung festgelegt werden muss. Der einzige Tonaufnahme-Typ, den ich in der Liste sehen kann, ist das WAV-Format.

+0

Oh richtig, vielen Dank @Ken White! Ich habe Delphi® 2007 für Win32, verwendet das die gleiche Bibliothek wie oben erwähnt? Die Schaltflächen sind jedoch auf dem Formular deaktiviert. Welcher Wert wird daher für die Case-Anweisung geändert? Muss ich separate Schaltflächen erstellen und diesen Event-Handler hinzufügen? – Seerit

+0

Ja, es ist die gleiche Komponente. Ich kann Ihnen nicht sagen, warum die Schaltflächen auf dem Formular deaktiviert sind. Ich habe dieses Problem nicht. Haben Sie eine Soundkarte (für die Wiedergabe) und ein Mikrofon (für die Aufnahme) auf Ihrem System konfiguriert? –

+0

Im 'Objektinspektor' habe ich die Option 'autoopen' auf 'true' gesetzt. Dies ermöglichte einige Tasten wie Abspielen, Aufnehmen, Zurückspulen und Vorspulen. Die Stopp-Schaltfläche ist jedoch deaktiviert. Ja, es ist auf meinem Laptop, in dem die Soundkarte funktioniert und ich ein Mikrofon eingesteckt habe, um aufzunehmen. Ich habe tmidiaplayer buchstäblich zu meinem Formular hinzugefügt und dann den oben genannten Code verwendet (nachdem ich ein Klickereignis dafür erstellt habe). Ich bin mir nicht sicher, warum die Stopp-Taste nicht funktioniert. @KenWhite – Seerit

Verwandte Themen