WMS Playlist Transform Plug-in Properties
Previous | Next |
WMS Playlist Transform Plug-in Properties
The WMS Playlist Transform plug-in alters the behavior of playlist files by shuffling the content order or causing the playlist to repeat itself continuously. For administration information about this plug-in, see Windows Media Services Help.
You can use the IWMSPlaylistTransformAdmin interface to configure the following properties.
Property | Description |
InfiniteRepeat | Specifies and retrieves a Boolean value indicating whether a playlist will automatically loop back to the beginning after all files have been played. |
Shuffle | Specifies and retrieves a Boolean value indicating whether content in a playlist is played in a random order. |
The following examples demonstrate how to use the IWMSPlaylistTransformAdmin interface to configure the properties of the WMS Playlist Transform plug-in.
Visual Basic .NET Example
Imports Microsoft.WindowsMediaServices.Interop Imports System.Runtime.InteropServices Private Sub SetPlylstTrnsfrmPluginProps() ' Declare variables. Dim Server As WMSServer Dim Plugin As IWMSPlugin Dim PlylstTrnsfrmAdmin As IWMSPlaylistTransformAdmin Try ' Create a new WMSServer object. Server = New WMSServer() ' Retrieve the IWMSPlugin object for the ' WMS Playlist Transform plug-in. Plugin = Server.EventHandlers("WMS Playlist Transform") ' Retrieve the administrative interface for the plug-in. PlylstTrnsfrmAdmin = Plugin.CustomInterface() ' Specify a Boolean value indicating whether playlists ' on this publishing point automatically repeat ' after all files have been played. PlylstTrnsfrmAdmin.InfiniteRepeat = True ' Specify a Boolean value indicating whether content in ' playlist files on this publishing point plays randomly. PlylstTrnsfrmAdmin.Shuffle = False Catch excCom As COMException ' TODO: Handle COM exceptions. Catch exc As Exception ' TODO: Handle exceptions here. Finally ' TODO: Perform clean-up here. End Try End Sub
C# Example
using Microsoft.WindowsMediaServices.Interop; using System.Runtime.InteropServices; // Declare variables. WMSServer Server; IWMSPlugin Plugin; IWMSPlaylistTransformAdmin PlylstTrnsfrmAdmin; try { // Create a new WMSServer object. Server = new WMSServerClass(); // Retrieve the IWMSPlugin object for the // WMS Playlist Transform plug-in. Plugin = Server.EventHandlers["WMS Playlist Transform"]; // Retrieve the administrative interface for the plug-in. PlylstTrnsfrmAdmin = (IWMSPlaylistTransformAdmin)Plugin.CustomInterface; // Specify a Boolean value indicating whether playlists // on this publishing point automatically repeat // after all files have been played. PlylstTrnsfrmAdmin.InfiniteRepeat = true; // Specify a Boolean value indicating whether content in // playlist files on this publishing point plays randomly. PlylstTrnsfrmAdmin.Shuffle = false; } catch (COMException comExc) { // TODO: Handle COM exceptions. } catch (Exception exc) { // TODO: Handle exceptions here. } finally { // TODO: Perform clean-up here. }
C++ Example
#include <windows.h> #include <atlbase.h> // To access system plug-in interfaces, the // type library must be imported as shown. #import "WMSServerTypeLib.dll" no_namespace named_guids \ raw_interfaces_only // Declare variables and interface pointers. IWMSServer* pServer = NULL; IWMSPlugins* pPlugins = NULL; IWMSPlugin* pPlugin = NULL; IDispatch* pDispatch = NULL; IWMSPlaylistTransformAdmin* pPlaylistTransformAdmin = NULL; CComVariant varIndex; HRESULT hr = S_OK; // Initialize the COM library and retrieve a pointer // to an 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 an IWMSPlugins interface // containing the collection of event handler plug-ins. hr = pServer->get_EventHandlers(&pPlugins); if (FAILED(hr)) goto EXIT; // Retrieve a pointer to the IWMSPlugin interface for the // WMS Playlist Transform plug-in. varIndex = "WMS Playlist Transform"; hr = pPlugins->get_Item(varIndex, &pPlugin); if (FAILED(hr)) goto EXIT; // Retrieve an IDispatch pointer to the // administration interface for the plug-in. hr = pPlugin->get_CustomInterface(&pDispatch); if (FAILED(hr)) goto EXIT; // Call QueryInterface() to retrieve a pointer to the // IWMSPlaylistTransformAdmin interface. hr = pDispatch->QueryInterface(IID_IWMSPlaylistTransformAdmin, (void**)&pPlaylistTransformAdmin); if (FAILED(hr)) goto EXIT; // Specify a Boolean value indicating whether playlists // on this publishing point automatically repeat // after all files have been played. hr = pPlaylistTransformAdmin->put_InfiniteRepeat(VARIANT_TRUE); if (FAILED(hr)) goto EXIT; // Specify a Boolean value indicating whether content in // playlist files on this publishing point plays randomly. hr = pPlaylistTransformAdmin->put_Shuffle(VARIANT_FALSE); if (FAILED(hr)) goto EXIT; EXIT: // TODO: Release temporary COM objects and uninitialize COM.
See Also
- IWMSPlaylistTransformAdmin Interface
- IWMSPlaylistTransformAdmin Object (C#)
- IWMSPlaylistTransformAdmin Object (Visual Basic .NET)
- Programming System Plug-in Properties
Previous | Next |