Un4seen.Bass.MiscBaseEncoder
Un4seen.Bass.MiscEncoderWMA
Namespace: Un4seen.Bass.Misc
Assembly: Bass.Net (in Bass.Net.dll) Version: 2.4.17.5
The EncoderWMA type exposes the following members.
Name | Description | |
---|---|---|
EncoderWMA |
Creates an instance of a Windows Media Audio encoder implementation.
|
Name | Description | |
---|---|---|
ChannelBitwidth |
This property returns the actual bitwidth of the sample data of the channel (e.g. 8, 16, 32).
(Inherited from BaseEncoder.) | |
ChannelHandle |
Gets or Sets the channel handle which is used to create the broadcast encoder class.
(Inherited from BaseEncoder.) | |
ChannelInfo |
Returns the general channel info.
(Inherited from BaseEncoder.) | |
ChannelNumChans |
This property returns the actual number of channles of the sample data BASS is using with the channel (e.g. 1=mono, 2=stereo, etc.).
(Inherited from BaseEncoder.) | |
ChannelSampleRate |
This property returns the actual sample rate in Hz of the sample data BASS is using with the channel (e.g. 44100).
(Inherited from BaseEncoder.) | |
DefaultOutputExtension |
This return the default extension of an output file for this encoder (".wma").
(Overrides BaseEncoderDefaultOutputExtension.) | |
EffectiveBitrate |
Returns the effective encoder bitrate (in kbps) of the output.
(Overrides BaseEncoderEffectiveBitrate.) | |
EncoderCommandLine |
Returns an empty string, since WMA does not use any command-line tool, but instead directly uses the Un4seen.Bass.AddOn.Wma add-on.
(Overrides BaseEncoderEncoderCommandLine.) | |
EncoderDirectory |
Gets or Sets the encoder's base directory.
(Inherited from BaseEncoder.) | |
EncoderExists |
This property always return , since we use the native BASSWMA add-on.
(Overrides BaseEncoderEncoderExists.) | |
EncoderHandle |
Gets or sets the current HENCODE encoder handle.
(Inherited from BaseEncoder.) | |
EncoderType |
Gets a value indicating the type of content. Here BASS_CTYPE_STREAM_WAV is always returned.
(Overrides BaseEncoderEncoderType.) | |
Force16Bit |
Always returns false, since this encoder doesn't supports this flag. Use the WMA_Use24Bit property instead.
| |
InputFile |
Gets or Sets the input file name to be processed by the encoder (null = STDIN, default).
(Inherited from BaseEncoder.) | |
IsActive |
Gets a value indicating if the encoder has been started (see Start(ENCODEPROC, IntPtr, Boolean)) and is active - else will be returned.
(Overrides BaseEncoderIsActive.) | |
IsPaused |
Gets a value indicating if the encoder has been paused (see Pause(Boolean)) - else will be returned.
(Overrides BaseEncoderIsPaused.) | |
IsStreaming |
Is this instance used for streaming? When set to true, some internal encoder options might be set.
Default is false.
(Inherited from BaseEncoder.) | |
NoLimit |
Gets or Sets if encoding should use the CAST_NOLIMIT flag (which is only needed, if the encoder is used for streaming).
(Inherited from BaseEncoder.) | |
OutputFile |
Gets or Sets the output file name to be processed by the encoder (null = STDOUT, default).
(Inherited from BaseEncoder.) | |
SupportsSTDOUT |
WMA does implement STDOUT, so is always returned.
(Overrides BaseEncoderSupportsSTDOUT.) | |
TAGs |
Gets or Sets the TAG_INFO structure associated with the encoder.
(Inherited from BaseEncoder.) | |
UseAsyncQueue |
Gets or Sets if encoding should use an async queue (i.e. the BASS_ENCODE_QUEUE flag).
(Inherited from BaseEncoder.) | |
WMA_Notify |
Gets ot Sets a ENCODENOTIFYPROC on the WMA encoder.
|
Name | Description | |
---|---|---|
Dispose |
Implement IDisposable.
(Inherited from BaseEncoder.) | |
Finalize |
Finalization code.
(Inherited from BaseEncoder.) | |
Pause |
Pauses or resumes an encoder
(Overrides BaseEncoderPause(Boolean).) | |
SetTag |
Sets a tag in a WMA encoding.
| |
SettingsString |
Returns the string representation of the current encoder settings.
(Overrides BaseEncoderSettingsString.) | |
Start |
This method starts the actual WMA encoder.
(Overrides BaseEncoderStart(ENCODEPROC, IntPtr, Boolean).) | |
Stop |
Stops the encoder (if started).
(Overrides BaseEncoderStop.) | |
Stop(Boolean) |
Stops the encoder (if started).
(Inherited from BaseEncoder.) | |
ToString |
Returns the name of the Encoder.
(Overrides ObjectToString.) |
Name | Description | |
---|---|---|
WMA_Bitrate |
Choose a total bitrate to encode at. Takes an argument in kbps (default is 128 kbps).
| |
WMA_ForceStandard |
When set to , the WMA standard codec (WMA 9) will be forced to use (default is ).
| |
WMA_MultiBitrate |
Here you can specify an array of encoding bitrates (in bits per second!) to use in case you selected WMA_UseNetwork or WMA_UsePublish - default is .
| |
WMA_NetworkClients |
The maximum number of clients (up to 50) that can be connected (only used, if WMA_UseNetwork is set to and WMA_UsePublish is set to ) - default is 1.
| |
WMA_NetworkPort |
The network port number for clients to conenct to (only used, if WMA_UseNetwork is set to and WMA_UsePublish is set to ) - default is 8080.
| |
WMA_PublishPassword |
Password to use in connecting to the server.
| |
WMA_PublishUrl |
URL of the publishing point on the Windows Media server.
| |
WMA_PublishUsername |
Username to use in connecting to the server.
| |
WMA_Use24Bit |
Use 24-bit encoding? (Default is ).
| |
WMA_UseNetwork |
Enables WMA encoding to the network (default is ).
| |
WMA_UsePro |
Use the WMA 10 Professional format? (Default is = WMA 9 format).
| |
WMA_UsePublish |
Enables WMA encoding to a publishing point on a Windows Media server.
| |
WMA_UseVBR |
Enable the VBR (variable bitrate) mode (default is ).
| |
WMA_VBRQuality |
Set a VBR quality level from 1 (very low) to 100 (lossless).
|
Since WMA does support 8-, 16-, and 32-bit(IEEE float) sample data as input, no BASS_ENCODE_FP_ flag will be used.
Make sure to set the WMA_xxx flags before calling Start(ENCODEPROC, IntPtr, Boolean).
As with all encoders in this framework also this WMA encoder always automatically encodes sample data (by using a DSP callback). So there is no need to manually send any sample data to the encoder.
The WMA_Notify property can be used to setup a ENCODENOTIFYPROC to receive notifications about the encoder status (e.g. when the encoder died).
IMPORTANT NOTE: This implementation uses BASSwma. So make sure the BASSwma add-on and dll is available.
int stream = Bass.BASS_StreamCreateFile("test.wav", 0, 0, BASSFlag.BASS_STREAM_DECODE); EncoderWMA wma = new EncoderWMA(stream); wma.WMA_UseVBR = true; wma.WMA_VBRQuality = 100; // lossless wma.InputFile = null; //STDIN wma.OutputFile = "test.wma"; wma.Start(null, IntPtr.Zero, false); // encode all the data right away Utils.DecodeAllData(stream, true); wma.Stop();
EncoderWMA wma = new EncoderWMA(_recHandle); wma.WMA_UseVBR = false; wma.WMA_Bitrate = 64; wma.WMA_UsePro = true; wma.WMA_UseNetwork = true; wma.WMA_NetworkPort = 80; wma.WMA_NetworkClients = 10; wma.InputFile = null; //STDIN wma.OutputFile = null; //STDOUT wma.Start(null, IntPtr.Zero, false); ... // encodes until this is called wma.Stop();