Copyright © 2005-2018 MultiMedia Soft

CallbackForCastingEvents delegate

Previous pageReturn to chapter overviewNext page

Remarks

 

Callback delegate invoked during a casting session previously created by one between the CastingCreateFromPlayer, CastingWmaPubPointOpenForPlayer or CastingWmaNetworkOpenForPlayer methods: this callback can be set through a call to the CallbackForCastingEventsSet method.

 

For further details about callback delegates see the How to synchronize the container application with the API tutorial.

Further information about management of casting sessions can be found inside the How to use the control as a source for streaming servers like SHOUTcast tutorial.

For further details about the use of WASAPI loopback devices see the WASAPIMan class and the How to manage audio flow through WASAPI tutorial

 

 

Syntax

 

[Visual Basic]

Public Delegate Sub CallbackForCastingEvents (

ByVal nEvent as enumCastingEvents,

ByVal nCastingUniqueId as Int32,

ByVal nData1 as Int32,

ByVal nData2 as Int32,

ByVal pBufferUnicode as IntPtr,

ByVal nBufferLength as Int32

)


 

[C#]

public delegate void CallbackForCastingEvents (

enumCastingEvents nEvent,

Int32 nCastingUniqueId,

Int32 nData1,

Int32 nData2,

IntPtr pBufferUnicode,

Int32 nBufferLength

)


 

[C++]

public delegate void CallbackForCastingEvents (

enumCastingEvents nEvent,

Int32 nCastingUniqueId,

Int32 nData1,

Int32 nData2,

IntPtr pBufferUnicode,

Int32 nBufferLength

)


 

 

Parameter

Description

 

 

nEvent

The type of event.

Supported values, with related parameters, are the following:

Mnemonic constant

Value

Meaning

EV_CASTING_PLAYER_START

1

Occurs when a player, through a call to the the CastingStart method, starts a casting session previously created by one between the CastingCreateFromPlayer, CastingWmaPubPointOpenForPlayer or CastingWmaNetworkOpenForPlayer methods.

 

Involved data parameters: none

EV_CASTING_PLAYER_PERC

2

Occurs during a player-based casting session to inform about the advancement percentage.

 

Involved data parameters:

nData1: Advancement of the casting session expressed in percentage

EV_CASTING_PLAYER_DONE

3

Occurs when a player completes a casting session previously created by one between the CastingCreateFromStreamMixer, CastingWmaPubPointOpenForStreamMixer or CastingWmaNetworkOpenForStreamMixer methods and started through the CastingStart method .

 

Involved data parameters:

nData1: The result of the operation. See the LastError property for details about the returned result code.

EV_CASTING_STREAM_MIXER_START

4

Occurs when a stream mixer, through a call to the the CastingStart method, starts a casting session previously created by one between the CastingCreateFromStreamMixer, CastingWmaPubPointOpenForStreamMixer or CastingWmaNetworkOpenForStreamMixer methods.

EV_CASTING_STREAM_MIXER_STOP

5

Occurs when a stream mixer, through a call to the the CastingStop method, stops a casting session previously created by one between the CastingCreateFromStreamMixer, CastingWmaPubPointOpenForStreamMixer or CastingWmaNetworkOpenForStreamMixer methods and started through the CastingStart method .

This event may also occur if the connection with the server should die for external reasons: in this case the error code would be reported inside the nData1 parameter.

 

Involved data parameters:

nData1: The result of the operation. See the LastError property for details about the returned result code. In case this parameter should indicate that an error occurred, be sure to close the casting session by calling the CastingStop method.

EV_CASTING_WMA_CLIENT_CONNECT

6

Occurs when a client is connected/disconnected on a WMA network session created through a call to CastingWmaNetworkOpenForStreamMixer or CastingWmaNetworkOpenForPlayer methods.

 

Involved data parameters:

nData1: Boolean value that specifies if the client was connected or disconnected.

Supported values are the following:

Value

Meaning

0

The client was disconnected

1

The client was connected

pBufferUnicode: String representing the IP address of the connected client.

EV_CASTING_LOOPBACK_START

7

Occurs when a WASAPI loopack device, through a call to the the CastingStart method, starts a casting session previously created by one between the CastingCreateFromWasapiLoopback, CastingWmaPubPointOpenFromWasapiLoopback or CastingWmaNetworkOpenFromWasapiLoopback methods.

 

This event is only intended for usage with Windows Vista and later versions.

EV_CASTING_LOOPBACK_STOP

8

Occurs when a WASAPI loopack device, through a call to the the CastingStop method, stops a casting session previously created by one between the CastingCreateFromStreamMixer, CastingWmaPubPointOpenForStreamMixer or CastingWmaNetworkOpenForStreamMixer methods and started through the CastingStart method .

This event may also occur if the connection with the server should die for external reasons: in this case the error code would be reported inside the nResult parameter.

 

Involved data parameters:

nData1: The result of the operation. See the LastError property for details about the returned result code. In case this parameter should indicate that an error occurred, be sure to close the casting session by calling the CastingStop method.

 

This event is only intended for usage with Windows Vista and later versions.

nCastingUniqueId

Unique identifier of the casting session returned by a previous call to CastingCreateFromPlayer, CastingWmaPubPointOpenForPlayer or CastingWmaNetworkOpenForPlayer methods.

nData1

Number representing the first parameter related to the event (see the events table above for details)

nData2

Number representing the second parameter related to the event (see the events table above for details)

pBufferUnicode

Pointer to a buffer containing a string of Unicode characters with text information about the event. Below a couple of snippets that show how to convert the buffer contents into a .NET string through marshaling:

 

Visual Basic .NET

 

Imports System.Runtime.InteropServices

 

Dim strInfo As String = Marshal.PtrToStringUni(pBufferUnicode, nBufferLength)

strInfo = strInfo.Trim()

 

 

Visual C#

 

using System.Runtime.InteropServices;

 

string strInfo = Marshal.PtrToStringUni(pBufferUnicode, nBufferLength);

strInfo = strInfo.Trim();

 

nBufferLength

The length in characters of the buffer above