Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The IWMSActiveMedia interface provides information about the currently active media element in a playlist. A media element can include both audio and video streams.
In addition to the methods inherited from IDispatch, the IWMSActiveMedia interface exposes the following methods.
Method |
Description |
|---|---|
get_Duration |
Retrieves the total length of the media element, in milliseconds. |
get_Live |
Retrieves a Boolean value that indicates whether the media element originates from a live source. |
get_Streams |
Retrieves an IWMSActiveStreamsIWMSActiveStreams Interface that contains a collection of the media streams that make up the active media element. |
get_TotalPackets |
Retrieves the total number of data packets contained in the active media element. |
GetProperty |
Retrieves a specific property from the active media element. |
Example
The following example illustrates how to retrieve a pointer to an IWMSActiveMedia interface.
#include <windows.h>
#include <atlbase.h> // Includes CComVariant.
#include "wmsserver.h"
// Declare variables and interfaces.
HRESULT hr;
IWMSServer *pServer;
IWMSPlayers *pPlayers;
IWMSPlayer *pPlayer;
IWMSPlaylist *pPlaylist;
IWMSActiveMedia *pActiveMedia;
CComVariant varIndex;
long lCount;
// Initialize the COM library and retrieve a pointer
// to the IWMSServer interface.
hr = CoInitialize(NULL);
hr = CoCreateInstance(CLSID_WMSServer,
NULL,
CLSCTX_ALL,
IID_IWMSServer,
(void **)&pServer);
if (FAILED(hr)) goto EXIT;
// Retrieve a pointer to the IWMSPlayers interface
// and retrieve the number of connected players.
hr = pServer->get_Players(&pPlayers);
if (FAILED(hr)) goto EXIT;
hr = pPlayers->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;
// If players are connected, retrieve a pointer to
// an IWMSPlayer interface containing the first player.
if (lCount > 0)
{
varIndex = 0;
hr = pPlayers->get_Item(varIndex, &pPlayer);
if (FAILED(hr)) goto EXIT;
}
// Retrieve the playlist for the player.
// NOTE: A valid playlist file is not always returned. This may be
// the case, for example, if the user requested a specific content
// file or if a broadcast publishing point is being used.
hr = pPlayer->get_RequestedPlaylist(&pPlaylist);
if (FAILED(hr)) goto EXIT;
if (pPlaylist != NULL)
{
// Retrieve a pointer to the IWMSActiveMedia interface.
hr = pPlaylist->get_CurrentMediaInformation(&pActiveMedia);
if (FAILED(hr)) goto EXIT;
}
EXIT:
// TODO: Release temporary COM objects and uninitialize COM.