BASS.NET API for the Un4seen BASS Audio LibraryWaveWriterWrite Method (Byte, Int32)BASS.NET API for the Un4seen BASS Audio Library
Use this method to provide 8-bit sample data to the WaveWriter and write these samples to the wave file.

Namespace: Un4seen.Bass.Misc
Assembly: Bass.Net (in Bass.Net.dll) Version: 2.4.12.0
Syntax

public void Write(
	byte[] buffer,
	int length
)

Parameters

buffer
Type: SystemByte
An array of byte values to write to the wave file.
length
Type: SystemInt32
The number of BYTEs in the buffer.
Remarks

This method is best used with e.g. BASS_ChannelGetData(Int32, IntPtr, Int32) and e.g. decoding channels.

However, the data written to the wave file will be in BitsPerSample resolution (as specified in the constructor). If this is not 8 (byte) an automatic bit resolution conversion will take place.

Examples

Writing an OGG file to WAV (8-bit quality):
VB
Dim stream As Integer = Bass.BASS_StreamCreateFile("test.ogg", 0, 0, BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_SAMPLE_8BITS)
Dim WW As New WaveWriter("test.wav", stream, True)
Dim data(32768 - 1) As Byte
While Bass.BASS_ChannelIsActive(stream) = BASSActive.BASS_ACTIVE_PLAYING
  Dim length As Integer = Bass.BASS_ChannelGetData(stream, data, 32768)
  If length > 0 Then
    WW.Write(data, length)
  End If
End While
' finilize the wave file!
WW.Close()
Bass.BASS_StreamFree(stream)
int stream = Bass.BASS_StreamCreateFile("test.ogg", 0, 0, BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_SAMPLE_8BITS);
WaveWriter WW = new WaveWriter("test.wav", stream, true);
byte[] data = new byte[32768];
while (Bass.BASS_ChannelIsActive(stream) == BASSActive.BASS_ACTIVE_PLAYING)
{
  int length = Bass.BASS_ChannelGetData(stream, data, 32768);
  if (length > 0)
    WW.Write(data, length);
}
// finilize the wave file!
WW.Close();
Bass.BASS_StreamFree(stream);
See Also

Reference