The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Wx::ActiveX::WMPlayer - interface to WMPlayer.OCX ActiveX Control

SYNOPSIS

use Wx::ActiveX::WMPlayer qw( :everything );

..........

my $activex = Wx::ActiveX::WMPlayer->new( $parent );

OR

my $activex = Wx::ActiveX::WMPlayer->newVersion( 1, $parent );

EVT_ACTIVEX_MEDIAPLAYER_OPENSTATECHANGE( $handler, $activex, \&on_event_openstatechange );

use Win32::OLE;

my $filename = 'c:/path/to/mediafile';

$activex->PropSet( 'URL', $filename);
my $winole = $activex->GetOLE;
$winole->controls->play; 

DESCRIPTION

Interface to WMPlayer.OCX ActiveX Control

METHODS

new

my $activex = Wx::ActiveX::WMPlayer->new(
                    $parent,
                    $windowid,
                    $position,
                    $size,
                    $style,
                    $name);

Returns a new instance of Wx::ActiveX::WMPlayer. Only $parent is mandatory. $parent must be derived from Wx::Window (e.g. Wx::Frame, Wx::Panel etc). This constructor creates an instance using the latest version available of WMPlayer.OCX.

newVersion

my $activex = Wx::ActiveX::WMPlayer->newVersion(
                    $version
                    $parent,
                    $windowid,
                    $position,
                    $size,
                    $style,
                    $name);

Returns a new instance of Wx::ActiveX::WMPlayer. $version and $parent are mandatory. $parent must be derived from Wx::Window (e.g. Wx::Frame, Wx::Panel etc). This constructor creates an instance using the specific type library specified in $version of WMPlayer.OCX.

e.g. $version = 4;

will produce an instance based on the type library for

WMPlayer.OCX.4

EVENTS

The module provides the following exportable event subs

EVT_ACTIVEX_MEDIAPLAYER_OPENSTATECHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_STATUSCHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_PLAYSTATECHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_AUDIOLANGUAGECHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_ENDOFSTREAM( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_POSITIONCHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_MARKERHIT( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_DURATIONUNITCHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_SCRIPTCOMMAND( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_DISCONNECT( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_BUFFERING( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_NEWSTREAM( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_ERROR( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_WARNING( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_CDROMMEDIACHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_PLAYLISTCHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_MEDIACHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_CURRENTMEDIAITEMAVAILABLE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_CURRENTPLAYLISTCHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_CURRENTPLAYLISTITEMAVAILABLE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_CURRENTITEMCHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_MEDIACOLLECTIONCHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_MEDIACOLLECTIONATTRIBUTESTRINGADDED( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_MEDIACOLLECTIONATTRIBUTESTRINGREMOVED( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_PLAYLISTCOLLECTIONCHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_PLAYLISTCOLLECTIONPLAYLISTADDED( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_PLAYLISTCOLLECTIONPLAYLISTREMOVED( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_PLAYLISTCOLLECTIONPLAYLISTSETASDELETED( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_MODECHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_MEDIACOLLECTIONATTRIBUTESTRINGCHANGED( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_MEDIAERROR( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_DOMAINCHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_OPENPLAYLISTSWITCH( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_SWITCHEDTOPLAYERAPPLICATION( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_SWITCHEDTOCONTROL( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_PLAYERDOCKEDSTATECHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_PLAYERRECONNECT( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_CLICK( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_DOUBLECLICK( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_KEYDOWN( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_KEYPRESS( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_KEYUP( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_MOUSEDOWN( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_MOUSEMOVE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_MOUSEUP( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_DEVICECONNECT( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_DEVICEDISCONNECT( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_DEVICESTATUSCHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_DEVICESYNCSTATECHANGE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_DEVICESYNCERROR( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );
EVT_ACTIVEX_MEDIAPLAYER_CREATEPARTNERSHIPCOMPLETE( $evthandler, $activexcontrol, \&on_event_mediaplayer_sub );

ACTIVEX INFO

Events

OpenStateChange
StatusChange
PlayStateChange
AudioLanguageChange
EndOfStream
PositionChange
MarkerHit
DurationUnitChange
ScriptCommand
Disconnect
Buffering
NewStream
Error
Warning
CdromMediaChange
PlaylistChange
MediaChange
CurrentMediaItemAvailable
CurrentPlaylistChange
CurrentPlaylistItemAvailable
CurrentItemChange
MediaCollectionChange
MediaCollectionAttributeStringAdded
MediaCollectionAttributeStringRemoved
PlaylistCollectionChange
PlaylistCollectionPlaylistAdded
PlaylistCollectionPlaylistRemoved
PlaylistCollectionPlaylistSetAsDeleted
ModeChange
MediaCollectionAttributeStringChanged
MediaError
DomainChange
OpenPlaylistSwitch
SwitchedToPlayerApplication
SwitchedToControl
PlayerDockedStateChange
PlayerReconnect
Click
DoubleClick
KeyDown
KeyPress
KeyUp
MouseDown
MouseMove
MouseUp
DeviceConnect
DeviceDisconnect
DeviceStatusChange
DeviceSyncStateChange
DeviceSyncError
CreatePartnershipComplete

Methods

AddRef()
close()
GetIDsOfNames(riid , rgszNames , cNames , lcid , rgdispid)
GetTypeInfo(itinfo , lcid , pptinfo)
GetTypeInfoCount(pctinfo)
Invoke(dispidMember , riid , lcid , wFlags , pdispparams , pvarResult , pexcepinfo , puArgErr)
launchURL(bstrURL)
newMedia(bstrURL)
newPlaylist(bstrName , bstrURL)
openPlayer(bstrURL)
QueryInterface(riid , ppvObj)
Release()

Properties

cdromCollection
closedCaption
controls
currentMedia
currentPlaylist
dvd
enableContextMenu
enabled
Error
fullScreen
isOnline
isRemote
mediaCollection
network
openState
playerApplication
playlistCollection
playState
settings
status
stretchToFit
uiMode
URL
versionInfo
windowlessVideo

COPYRIGHT & LICENSE

Copyright (C) 2008 Mark Dootson

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.