2017-08-30 21 views
2

c#winformsを使用してメディアプレーヤーからオーディオを録音する方法を教えてください。メディアプレーヤーからオーディオを録音する

私はプレーヤー(vlc)からオーディオを録音して、それを自分のコンピュータに保存するアプリケーションを作成しようとしています。

どんなアイデアも高く評価されます。

+0

チェックこれを助け[この](https://でmsdn.microsoft.com/en-us/library/windows/desktop/dd757161(v=vs.85).aspx) – Berkay

答えて

1

あなたのメディアプレーヤーの使用はどういう意味ですか?単にC#を使用したい場合は、winmm.dllライブラリを使用してください。

  1. 名前空間をインポートします。

    using System.Runtime.InteropServices;

  2. [DLLIMPORT( "WINMM.DLL"、エントリーポイント= "mciSendStringA"、ExactSpelling =真、のCharSet = CharSet.Ansi、SetLastError =真)]
    プライベート静的にextern int型レコードの相互運用機能に

    を宣言(文字列lpstrCommand、文字列lpstrReturnString、int uReturnLength、int hwndCallback);

  3. スタート記録

    レコード( "エイリアスがrecsound waveaudio新しいタイプを開く"、 ""、0、0);
    レコード( "レコードrecsound"、 ""、0、0); (:0、 ""、0 "\ myRecordedAudioFile.wav recsound dを保存");

  4. 記録を停止し、

    レコードをファイルに保存
    レコード( "close recsound"、 ""、0、0);あなたはNAudioを使用することができます

+0

メディアプレーヤーの意味は、メディアのサウンドを再生しながらサウンドを録音することですプレーヤー。 –

0

、ここで迅速なサンプルがある

つのボタン録音や停止、

public WaveIn _waveIn = null; 
public WaveFileWriter fileToWrite = null; 
private void btn_record_Click(object sender, EventArgs e) { 
    _waveIn = new WaveIn(); 
    _waveIn.WaveFormat = new WaveFormat(44100, 1); 
    _waveIn.DataAvailable += _waveIn_DataAvailable; // event that keep listening mic 
    fileToWrite = new WaveFileWriter(@"C:\Users\userName\Documents\myFile.wav", _waveIn.WaveFormat); 
    _waveIn.StartRecording(); 
} 

private void _waveIn_DataAvailable(object sender, WaveInEventArgs e) { 
    if (fileToWrite != null) { 
    fileToWrite.Write(e.Buffer, 0, e.BytesRecorded); // writes bytes to the wav file 
    fileToWrite.Flush(); 
    } 
} 
private void btn_stop_Click(object sender, EventArgs e) { 
    _waveIn.StopRecording(); 
} 

希望は、

+0

私はそれを試してみましょう –

関連する問題