Audio Channel


The Audio Channel object is derived from the Channel object. The Audio Channel controls the sending and receiving of audio between the local computer and one other conference participant's computer.

NetMeeting 2.1 allows audio and video with only one other meeting participant at a time. Therefore, there can be only one active incoming Audio Channel and one active outgoing Audio Channel at any given time.

As in the NetMeeting user interface, audio and video can be switched between different conference members.

To obtain an Audio Channel, use INmChannel::QueryInterface with the IID_INmChannelAudio interface identifier.

INmChannelAudio Interface
INmChannelAudioNotify Interface

Up ArrowBack to COM Object Reference

INmChannelAudio Interface

This interface manages the exchange of audio information during a conference.

Before calling any of the INmChannelAudio methods listed below, users should confirm that NMCH_AUDIO is set by using INmSysInfo::GetNmchCaps.

In addition to the INmChannel Interface methods, this interface implements the following:

GetProperty
GetState
IsIncoming
SetProperty

Up ArrowBack to Audio Channel

INmChannelAudio::GetProperty

HRESULT GetProperty(
[in] NM_AUDPROP uID,
[out] ULONG *puValue);

Retrieves the property values of the current Audio Channel.

uID
NM_AUDPROP that identifies the property type. This can be one of the following:
NM_AUDPROP_LEVEL Audio level. puValue will receive values from 0 to 65535.
NM_AUDPROP_PAUSE Audio muted. puValue will receive 0 if audio is not muted (default), or 1 if it is muted.
puValue
Pointer to a ULONG containing the audio property.

If an outgoing channel is paused, audio will not be sent. If an incoming channel is paused, audio will not be received.

Also see INmChannelAudio::SetProperty.

Up ArrowBack to INmChannelAudio Interface

Up ArrowBack to Audio Channel

Up ArrowBack to COM Object Listing

INmChannelAudio::GetState

HRESULT GetState(
[out] NM_AUDIO_STATE *puState);

Retrieves the current state of an Audio Channel object.

puState
Current state of an Audio Channel object. The state will be one of the following constants:
NM_AUDIO_IDLE There is audio connection between the local and remote computers, but audio is not being sent or received.
NM_AUDIO_LOCAL_PAUSED The channel is muted.
NM_AUDIO_TRANSFERRING The channel is transmitting sound.

If the puState of an incoming channel is set to NM_AUDIO_LOCAL_PAUSED, the speaker is muted. If the puState of an outgoing channel is set to NM_AUDIO_LOCAL_PAUSED, the microphone is muted.

Up ArrowBack to INmChannelAudio Interface

Up ArrowBack to Audio Channel

Up ArrowBack to COM Object Listing

INmChannelAudio::IsIncoming

HRESULT IsIncoming(void);

Determines whether data on the Audio Channel is being sent or received.

Up ArrowBack to INmChannelAudio Interface

Up ArrowBack to Audio Channel

Up ArrowBack to COM Object Listing

INmChannelAudio::SetProperty

HRESULT SetProperty(
[in] NM_AUDPROP uID,
[in] ULONG uValue);

Sets the property values of the Audio Channel.

uID
NM_AUDPROP that identifies the property type. This can be one of the following:
NM_AUDPROP_LEVEL Audio level. uValue must be a value from 0 to 65535.
NM_AUDPROP_PAUSE Audio muted. uValue must be set to 0 to play audio (default), or 1 to mute audio.
uValue
Value of the audio property.

If an outgoing channel is paused, audio will not be sent. If an incoming channel is paused, audio will not be received.

Up ArrowBack to INmChannelAudio Interface

Up ArrowBack to Audio Channel

Up ArrowBack to COM Object Listing

INmChannelAudioNotify Interface

This is an event notification sink interface for the INmChannelAudio interface. The methods in this interface are called by the Audio Channel object when specific events occur.

These event sink methods should be defined and implemented by the client application to respond to notifications from an Audio Channel object. For example, the INmChannelAudioNotify::StateChanged method is notified when the state of the Audio Channel has changed. The client application implementation of this method could provide a display to the user informing him or her of this change.

MemberChanged
NmUI
PropertyChanged
StateChanged

Up ArrowBack to Audio Channel

INmChannelAudioNotify::MemberChanged

HRESULT MemberChanged(
[in] NM_MEMBER_NOTIFY uNotify,
[in] INmMember *pMember);

Receives notification that a member of the Audio Channel was added, removed, or updated. This method is inherited from INmChannelNotify. For NetMeeting 2.1, an Audio Channel will never have more than one member.

uNotify
Identifier of an event constant. This can include the following values:
NM_MEMBER_ADDED Another member has joined the Audio Channel.
NM_MEMBER_REMOVED The remote user has been removed from the Audio Channel.
NM_MEMBER_UPDATED The Audio Channel for this member has been updated.
pMember
Pointer to the INmMember Interface on the Member object that changed.

Up ArrowBack to INmChannelAudioNotify Interface

Up ArrowBack to Audio Channel

Up ArrowBack to COM Object Listing

INmChannelAudioNotify::NmUI

HRESULT NmUI(
[in] CONFN uNotify);

Receives event notification when a channel change occurs. Only the application in charge (initialized with NM_INIT_CONTROL) of the NetMeeting user interface will receive these notifications.

This method is inherited from INmChannelNotify.

uNotify
Reserved for future use.

Up ArrowBack to INmChannelAudioNotify Interface

Up ArrowBack to Audio Channel

Up ArrowBack to COM Object Listing

INmChannelAudioNotify::PropertyChanged

HRESULT PropertyChanged(
[in] DWORD dwReserved);

Called when a property of the Audio Channel has changed.

dwReserved
DWORD that identifies the property type.
NM_AUDPROP_PAUSE Audio mute state has changed.

This method is not called when NM_AUDPROP_LEVEL changes.

When receiving this notification, your application should use INmChannelAudio::GetProperty to determine the new property value.

Local or remote changes to the pause property for the channel will cause this notification to be called.

Up ArrowBack to INmChannelAudioNotify Interface

Up ArrowBack to Audio Channel

Up ArrowBack to COM Object Listing

INmChannelAudioNotify::StateChanged

HRESULT StateChanged(
[in] NM_AUDIO_STATE uState);

Called when the Audio Channel's state changes.

uState
NM_AUDIO_STATE that identifies the current state. Constants include:
NM_AUDIO_IDLE There is audio connection between the local and remote computers, but audio is not being sent or received.
NM_AUDIO_LOCAL_PAUSED The channel is muted.
NM_AUDIO_TRANSFERRING The channel is transmitting sound.

Local or remote calls to INmChannelAudio::GetState can cause this notification to be called. Joining a call also causes this notification to be called.

Up ArrowBack to INmChannelAudioNotify Interface

Up ArrowBack to Audio Channel

Up ArrowBack to COM Object Listing

Last Updated: November 1, 1997
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.