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 |
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 |
HRESULT GetProperty(
[in] NM_AUDPROP uID,
[out] ULONG *puValue);
Retrieves the property values of the current Audio Channel.
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. |
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.
Back to INmChannelAudio Interface
HRESULT GetState(
[out] NM_AUDIO_STATE *puState);
Retrieves the current state of an Audio Channel object.
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.
Back to INmChannelAudio Interface
HRESULT IsIncoming(void);
Determines whether data on the Audio Channel is being sent or received.
Back to INmChannelAudio Interface
HRESULT SetProperty(
[in] NM_AUDPROP uID,
[in] ULONG uValue);
Sets the property values of the Audio Channel.
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. |
If an outgoing channel is paused, audio will not be sent. If an incoming channel is paused, audio will not be received.
Back to INmChannelAudio 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 |
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.
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. |
Back to INmChannelAudioNotify Interface
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.
Back to INmChannelAudioNotify Interface
HRESULT PropertyChanged(
[in] DWORD dwReserved);
Called when a property of the Audio Channel has changed.
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.
Back to INmChannelAudioNotify Interface
HRESULT StateChanged(
[in] NM_AUDIO_STATE uState);
Called when the Audio Channel's state changes.
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.
Back to INmChannelAudioNotify Interface
Last Updated: November 1, 1997
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.