2016-03-30 68 views
1

嗨我很新的德爾福,但之前編程。如何在Delphi中使用TMediaPlayer記錄麥克風輸入的音頻?

我想記錄筆記本電腦麥克風輸入的音頻。 Tmediaplayer有一個記錄按鈕,但我不能完全理解 http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/MPlayer_TMediaPlayer_StartRecording.html中有關如何使用它的文檔。

有人請列出一些關於如何使用它的步驟或鏈接Tmediaplayer用於錄製的任何示例代碼?

還記錄文件保存的格式是什麼?它可以是一個包含數據的數組,還是一個.WAV文件?

任何幫助表示讚賞和感謝。

回答

2

使用非常簡單,使用TMediaPlayer.OnClick事件。這個答案基於VCL.TMediaPlayer,因爲你沒有指定你正在使用哪個UI庫。

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

哦,對了,非常感謝@肯白!我有用於Win32的Delphi®2007,是否使用與上述相同的庫?但是,窗體上的按鈕被禁用。因此,案例陳述的價值會發生什麼變化?我必須創建單獨的按鈕,然後在那裏事件處理程序添加此代碼? – Seerit

+0

是的,它是相同的組件。我無法告訴你爲什麼在表單上禁用按鈕;我沒有這個問題。您的系統上配置了聲卡(用於播放)和麥克風(用於錄音)嗎? –

+0

在「對象檢查器」中,我將選項'autoopen'設置爲true。這啓用了一些按鈕,如播放,錄製,倒帶和快進。但是停止按鈕被禁用。是的,它在我的筆記本電腦上,聲卡工作正常,我插入麥克風錄音。我已經將tmediaplayer添加到我的表單中,然後使用上面的代碼(一旦我爲它創建了一個單擊事件)。我不知道爲什麼停止按鈕不起作用。 @KenWhite – Seerit

相關問題