Je tente désormais d'enregistrer le son de la carte son dans un fichier wav ou ogg aec la librairie Bass. Ce serait une fonction très utile pour mon logiciel de webradio. Avez-vous réussi à faire cela ? Depuis la documentation de Bass j'ai un exemple en VB mais je ne parvient pas à l'adapter car je n'ai aucune fonction wavewriter dans les fichiers PBI pour Bass. Des idées ? Merci à vous.
Many thanks for your ideas ! Perhaps you know how to record from bass to wav or ogg.
Private _waveWriter As WaveWriter = Nothing ' make it global, so that the GC can not remove it
Private _myRecProc As RECORDPROC
Private _recHandle As Integer = 0
...
' start recording
_myRecProc = New RECORDPROC(AddressOf MyRecording)
_recHandle = Bass.BASS_RecordStart(44100, 2,
BASSFlag.BASS_RECORD_PAUSE Or BASSFlag.BASS_SAMPLE_FLOAT, _myRecProc, IntPtr.Zero)
' create a WaveWriter using the _recHandle to set the freq. and channels, but write the wave at 24-bit
_waveWriter = New WaveWriter("test.wav", _recHandle, 24, True)
Bass.BASS_ChannelPlay(_recHandle, False)
...
' when finished recording call this!
If Not (_waveWriter Is Nothing) Then
' finilize the wave file!
_waveWriter.Close()
End If
...
' the recording callback
Private Function MyRecording(handle As Integer, buffer As IntPtr, length As Integer, user As IntPtr) As Boolean
' we will get float sample data here
' so make sure the _waveWriter.OrigResolution property is set to 32
' this was automatically done, since we started recording with BASSFlag.BASS_SAMPLE_FLOAT
_waveWriter.Write(buffer, length)
Return True ' always continue recording
End Function