从媒体播放器录制音频
你是什么意思使用你的媒体播放器?如果你只是想使用C#,只需使用winmm.dll库。
-
导入命名空间。
using System.Runtime.InteropServices;
-
声明互操作功能
[的DllImport( “WINMM.DLL”,入口点= “mciSendStringA”,ExactSpelling =真,字符集= CharSet.Ansi,SetLastError =真)
私人静态外部INT记录(字符串lpstrCommand,字符串lpstrReturnString,int uReturnLength,int hwndCallback); -
开始录制
记录( “开放式新型waveaudio别名recsound”, “”,0,0);
record(“record recsound”,“”,0,0); -
停止记录并保存到文件
记录( “保存recsound d:\ myRecordedAudioFile.wav”, “”,0,0);
record(“close recsound”,“”,0,0);
我的意思是媒体播放器的意思是,我希望在播放媒体播放声音时录制声音播放器。 –
您可以使用NAudio,这里是一个快速样品
两个按钮录制和停止,
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();
}
希望帮助,
我会试试看 –
入住这[这](https://开头msdn.microsoft.com/en-us/library/windows/desktop/dd757161(v=vs.85).aspx) – Berkay