BASS.NET API for the Un4seen BASS Audio Library

BassEnc Class

BASS.NET API for the Un4seen BASS Audio Library
BASS.NET API wrapper for BASSENC.DLL

Requires: bassenc.dll - Encoding support library - available @ www.un4seen.com.

Inheritance Hierarchy

SystemObject
  Un4seen.Bass.AddOn.EncBassEnc

Namespace:  Un4seen.Bass.AddOn.Enc
Assembly:  Bass.Net (in Bass.Net.dll) Version: 2.4.17.5
Syntax

public sealed class BassEnc

The BassEnc type exposes the following members.

Methods

  NameDescription
Public methodStatic memberCode exampleBASS_Encode_AddChunk(Int32, String, Byte, Int32)
Sends a RIFF chunk to an encoder.
Public methodStatic memberBASS_Encode_AddChunk(Int32, String, IntPtr, Int32)
Sends a RIFF chunk to an encoder.
Public methodStatic memberCode exampleBASS_Encode_CastGetStats
Retrieves stats from the Shoutcast or Icecast server.
Public methodStatic memberCode exampleBASS_Encode_CastInit
Initializes sending an encoder's output to a Shoutcast or Icecast server.
Public methodStatic memberBASS_Encode_CastSendMeta(Int32, BASSEncodeMetaDataType, Byte)
Sends metadata to a Shoutcast 2 server.
Public methodStatic memberBASS_Encode_CastSendMeta(Int32, BASSEncodeMetaDataType, String)
Sends metadata to a Shoutcast 2 server.
Public methodStatic memberCode exampleBASS_Encode_CastSetTitle(Int32, Byte, Byte)
Sets the title of a cast stream.
Public methodStatic memberBASS_Encode_CastSetTitle(Int32, String, String)
Sets the title of a cast stream (ANSI only).
Public methodStatic memberCode exampleBASS_Encode_GetACMFormat(Int32, String, BASSACMFormat, WAVEFormatTag)
Presents the user with a list of available ACM (Audio Compression Manager) codec output formats to choose from.

This overload returns the generic codec format ACMFORMAT and handles all the rest already for you.

Public methodStatic memberBASS_Encode_GetACMFormat(Int32, ACMFORMAT, String, BASSACMFormat)
Presents the user with a list of available ACM (Audio Compression Manager) codec output formats to choose from.

This overload returns the generic codec format ACMFORMAT in the codec and handles all the rest already for you.

Public methodStatic memberCode exampleBASS_Encode_GetACMFormat(Int32, IntPtr, Int32, String, BASSACMFormat)
Presents the user with a list of available ACM (Audio Compression Manager) codec output formats to choose from.

The overload implements the Unicode version for the title, so the BASS_UNICODE flag will be added automatically.

Public methodStatic memberCode exampleBASS_Encode_GetACMFormatSuggest
Returns a suggested ACM (Audio Compression Manager) codec output format without displaying a user dialog.
Public methodStatic memberBASS_Encode_GetCARef
Retrieves a CoreAudio codec encoder's ExtAudioFileRef object.
Public methodStatic memberBASS_Encode_GetChannel
Retrieves the channel that an encoder is set on.
Public methodStatic memberBASS_Encode_GetCount
Retrieves the amount of data queued, sent to or received from an encoder, or sent to a cast server.
Public methodStatic memberCode exampleBASS_Encode_GetVersion
Retrieves the version number of the BASSenc.DLL that is loaded.
Public methodStatic memberCode exampleBASS_Encode_GetVersion(Int32)
Retrieves the version of the BASSenc.DLL that is loaded.
Public methodStatic memberCode exampleBASS_Encode_IsActive
Checks if an encoder is running on a channel.
Public methodStatic memberCode exampleBASS_Encode_ServerInit
Initializes a server to send an encoder's output to connecting clients.
Public methodStatic memberBASS_Encode_ServerKick
Kicks clients from a server.
Public methodStatic memberBASS_Encode_SetChannel
Moves an encoder (or all encoders on a channel) to another channel.
Public methodStatic memberCode exampleBASS_Encode_SetNotify
Sets a callback function on an encoder (or all encoders on a channel) to receive notifications about its status.
Public methodStatic memberBASS_Encode_SetPaused
Pauses or resumes encoding on a channel.
Public methodStatic memberCode exampleBASS_Encode_Start(Int32, String, BASSEncode, ENCODEPROC, IntPtr)
Starts encoding on a channel.

This overload implements UNICODE cmdlines. The BASS_UNICODE flag will be added automatically, since all .Net strings are always unicode.

Public methodStatic memberCode exampleBASS_Encode_Start(Int32, String, BASSEncode, ENCODEPROC, IntPtr, Int32)
Sets up an encoder on a channel.

This overload implements UNICODE cmdlines. The BASS_UNICODE flag will be added automatically, since all .Net strings are always unicode.

Public methodStatic memberCode exampleBASS_Encode_StartACM(Int32, IntPtr, BASSEncode, ENCODEPROC, IntPtr)
Sets up an encoder on a channel, using an ACM codec and sending the output to a user defined function.
Public methodStatic memberCode exampleBASS_Encode_StartACM(Int32, ACMFORMAT, BASSEncode, ENCODEPROC, IntPtr)
Sets up an encoder on a channel, using an ACM codec and sending the output to a user defined function.
Public methodStatic memberCode exampleBASS_Encode_StartACMFile(Int32, IntPtr, BASSEncode, String)
Sets up an encoder on a channel, using an ACM codec and writing the output to a file.

This overload represents the Unicode version for the file name. The BASS_UNICODE flag will automatically be added if missing.

Public methodStatic memberCode exampleBASS_Encode_StartACMFile(Int32, ACMFORMAT, BASSEncode, String)
Sets up an encoder on a channel, using an ACM codec and writing the output to a file.

This overload represents the Unicode version for the file name. The BASS_UNICODE flag will automatically be added if missing.

Public methodStatic memberBASS_Encode_StartCA
Starts encoding on a channel.
Public methodStatic memberBASS_Encode_StartCAFile
Starts encoding on a channel.
Public methodStatic memberBASS_Encode_StartUser
Sets up a user-provided encoder on a channel.

This overload implements UNICODE cmdlines. The BASS_UNICODE flag will be added automatically, since all .Net strings are always unicode.

Public methodStatic memberBASS_Encode_Stop
Stops encoding on a channel.
Public methodStatic memberBASS_Encode_StopEx
Stops async encoding on a channel.
Public methodStatic memberBASS_Encode_UserOutput
Receives the output from a user encoder.
Public methodStatic memberBASS_Encode_Write(Int32, Byte, Int32)
Sends sample data to the encoder.

This overload uses a managed byte[] to handover sample data to the encoder (perfect for 8-bit samples).

Public methodStatic memberBASS_Encode_Write(Int32, Int16, Int32)
Sends sample data to the encoder.

This overload uses a managed short[] to handover sample data to the encoder (perfect for 16-bit samples).

Public methodStatic memberBASS_Encode_Write(Int32, Int32, Int32)
Sends sample data to the encoder.

This overload uses a managed int[] to handover sample data to the encoder (Note: An int[] is 32-bit. When using 16-bit samples we can keep a stereo pair in here).

Public methodStatic memberBASS_Encode_Write(Int32, IntPtr, Int32)
Sends sample data to the encoder.
Public methodStatic memberBASS_Encode_Write(Int32, Single, Int32)
Sends sample data to the encoder.

This overload uses a managed float[] to handover sample data to the encoder (typically not used, since most encoders expect 16-bit, so use the int[] or short[] overload).

Public methodStatic memberFreeMe
Unloads this library. This must be called when you have previously called LoadMe.
Public methodStatic memberCode exampleLoadMe
Loads this library into memory. The library will be search in the current application directory.
Public methodStatic memberCode exampleLoadMe(String)
Loads this library into memory. The library will be loaded from the given path.
Top
Fields

  NameDescription
Public fieldStatic memberBASS_ENCODE_TYPE_AAC
Public fieldStatic memberBASS_ENCODE_TYPE_MP3
Public fieldStatic memberBASS_ENCODE_TYPE_OGG
Public fieldStatic memberBASSENCVERSION
Current BASSenc version (without minor revision).
Top
Remarks

BASSenc is an extension that allows BASS channels to be encoded using any command-line encoder that has STDIN support (LAME/OGGENC/etc).

See Also

Reference