1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
private RECORDPROC _rec;
private int _rec_hdl = 0;
private int _enc_hdl = 0;
EncoderLAME lame = null;
private void B2_Aufnahme_Click(object sender, EventArgs e)
{
_rec = new RECORDPROC(Musik_aufzeichnen);
_rec_hdl = Bass.BASS_RecordStart(44100, 2, BASSFlag.BASS_RECORD_PAUSE, _rec, new IntPtr(_enc_hdl));
// MP3 Encoder Einstellungen
lame = new EncoderLAME(_rec_hdl);
lame.InputFile = null;
lame.OutputFile = "Song1.mp3"; // Dateiname
lame.LAME_Bitrate = (int)EncoderLAME.BITRATE.kbps_192;
lame.LAME_Mode = EncoderLAME.LAMEMode.Default;
lame.LAME_TargetSampleRate = (int)EncoderLAME.SAMPLERATE.Hz_44100;
lame.LAME_Quality = EncoderLAME.LAMEQuality.Quality;
// die Aufnahme starten
lame.Start(null, IntPtr.Zero, false);
Bass.BASS_ChannelPlay(_rec_hdl, false);
}
private unsafe bool Musik_aufzeichnen(int handle, IntPtr buffer, int length, IntPtr user)
{
if (length > 0 && buffer != IntPtr.Zero)
{
// die Daten zum Encoder schreiben
BassWma.BASS_WMA_EncodeWrite(user.ToInt32(), buffer, length);
}
return true;
}
}
|