The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.