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 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
Reference
IWMSPlaylistTransformAdmin Interface
IWMSPlaylistTransformAdmin Object (C#)
IWMSPlaylistTransformAdmin Object (Visual Basic .NET)