Dieses Snippet ermöglicht die Aufzeichnung von mp3-Dateien.
Die Aufzeichnung erfolgt über den Encoder lame.exe.
Weitere Hinweise und Lizenzbedingungen sind über die Website
http://www.un4seen.com/
erhältlich.
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;
}
}
Kommentare zum Snippet