2016-03-30 22 views
1

こんにちは私はDelphiを初めて使ったことがありますが、前にプログラムしました。DelphiでTMediaPlayerを使用してマイク入力からオーディオを録音する方法は?

ラップトップのマイク入力からオーディオを録音します。 Tmediaplayerには録音ボタンがありますが、使用方法については http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/MPlayer_TMediaPlayer_StartRecording.htmlのドキュメントをよく理解できません。

Tmediaplayerが録音に使用されている場合は、使用方法や使用例のコードをリンクしてください。

また、記録されたファイルはどのような形式で保存されますか?データが入っている配列でも、それとも.WAVファイルでもかまいませんか?

ご協力いただきありがとうございます。

答えて

2

使用はかなり簡単で、TMediaPlayer.OnClickイベントを使用しています。この回答は、使用しているUIライブラリを指定していないので、VCL.TMediaPlayerに基づいています。

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; 

私は簡潔にするために他のボタンを省略しました。

ファイルの種類は、TMediaPlayer.DeviceTypeプロパティによって決まります。このプロパティは、録画を開始する前に設定する必要があります。私がリストで見ることのできる唯一の音声録音タイプはWAVフォーマットです。

+0

ああ、ありがとう@Ken White!私はDelphi®2007 for Win32を持っていますが、これは上記と同じライブラリを使用していますか?ただし、ボタンはフォーム上で無効になっています。したがって、case文にはどのような値が変更されますか?別のボタンを作成してからイベントハンドラにこのコードを追加する必要がありますか? – Seerit

+0

はい、同じコンポーネントです。フォーム上でボタンが無効になっている理由はわかりません。私はその問題はありません。システムにサウンドカード(再生用)とマイク(録音用)が設定されていますか? –

+0

'オブジェクトインスペクタ'では、オプション 'autoopen'をtrueにしました。これにより、再生、録音、巻き戻し、早送りなどのボタンが有効になりました。ただし、停止ボタンは無効になっています。はい、それはサウンドカードが動作している私のラップトップにあり、録音するためにマイクを差し込んでいます。私は文字通り自分のフォームにtmediaplayerを追加してから、上記のコードを使用しました(一度私はそれに対してクリックイベントを作成しました)。なぜ停止ボタンが機能しないのか分かりません。 @KenWhite – Seerit

関連する問題