Sets the value of a channel's attribute.
Namespace: Un4seen.Bass
Assembly: Bass.Net (in Bass.Net.dll) Version: 2.4.18.2
Syntax
[DllImportAttribute("bass", EntryPoint = "BASS_ChannelSetAttributeEx")] public static bool BASS_ChannelSetAttribute( int handle, BASSAttribute attrib, IntPtr value, int size )
Parameters
- handle
- Type: SystemInt32
The channel handle... a HCHANNEL, HMUSIC, HSTREAM or HRECORD. - attrib
- Type: Un4seen.BassBASSAttribute
The attribute to set the value of (one of the following, see BASSAttribute):Other attributes may be supported by add-ons, see the documentationBASS_ATTRIB_DOWNLOADPROC Internet stream download callback. BASS_ATTRIB_SCANINFO Scanned info. (HSTREAM only). BASS_ATTRIB_USER User-defined info. (HMUSIC/HSTREAM/HRECORD). - value
- Type: SystemIntPtr
The pointer to the new attribute data. - size
- Type: SystemInt32
The size of the attribute data or one of the following, see BASSAttributeType.
Return Value
Type: BooleanIf successful, is returned, else is returned. Use BASS_ErrorGetCode to get the error code.
Remarks
If the attribute is currently sliding from a BASS_ChannelSlideAttribute(Int32, BASSAttribute, Single, Int32) call then that will be stopped before applying the new value. BASS_SYNC_SLIDE syncs will be triggered by this.
| ERROR CODE | Description |
|---|---|
| BASS_ERROR_HANDLE | handle is not a valid channel. |
| BASS_ERROR_ILLTYPE | attrib is not valid. |
| BASS_ERROR_ILLPARAM | The value content or size is not valid. |
| BASS_ERROR_DENIED | The attribute is read-only. |
Examples
// get the size int size = Bass.BASS_ChannelGetAttribute(stream1, BASSAttribute.BASS_ATTRIB_SCANINFO, IntPtr.Zero, 0); IntPtr hglobal = Marshal.AllocHGlobal(size); // get the data Bass.BASS_ChannelGetAttribute(stream1, BASSAttribute.BASS_ATTRIB_SCANINFO, scaninfo, size); // apply it to the other stream Bass.BASS_ChannelSetAttribute(stream2, BASSAttribute.BASS_ATTRIB_SCANINFO, scaninfo, size); Marshal.FreeHGlobal(hglobal);
See Also