- Using the Windows Media Player Control with Microsoft Visual Studio
- Adding the Windows Media Player Control
- Configuring Visibility of the Control
- Object Model Compatibility of the Control
- Windows Media Player ActiveX Control
- .MediaPlayer DActiveMovieEvents Methods
- Adding an Embedded Windows Media Player Control
- Using the Player control to display video in HTMLView content
- Using the Player object model
- Windows Media Player ActiveX Control
Using the Windows Media Player Control with Microsoft Visual Studio
You can add the Windows Media Player 9 Series or later ActiveX control to a .NET Framework application through the Toolbox in Visual Studio.
Adding the Windows Media Player Control
Before creating a new project, make sure that the latest version of Windows Media Player and the Windows Media Player SDK is installed on your computer.
Start Visual Studio, then create a new project.
In Visual Studio, open the Toolbox.
If Windows Media Player does not appear in the Components portion of the Toolbox, do the following:
Right-click within the Toolbox, and then select Choose Items. This opens the Customize Toolbox dialog box.
On the COM Components tab, select Windows Media Player.
If Windows Media Player does not appear in the list, click Browse, and then open Wmp.dll, which should be in the Windows\System32 folder.
Click OK. The Windows Media Player control will be placed on the current Toolbox tab.
You can now select Windows Media Player in the Toolbox and add it to a form.
Visual Studio gives the Windows Media Player control a default name such as «axWindowsMediaPlayer1». You may want to change the name to something more easily remembered, such as «Player».
Adding the Windows Media Player control from the Toolbox also adds references to two libraries created by Visual Studio, AxWMPLib and WMPLib. You can find them in the Solution Explorer under References.
To make using the objects in the Player namespace easier, you should include the namespace in the using or imports directives of your files, as follows:
The directive ensures that you can refer to Player objects without fully qualifying their names.
The Windows Media Player control is an AxWindowsMediaPlayer object from the AxWMPLib namespace. However, the AxWindowsMediaPlayer class uses data types, interfaces, and other elements from the WMPLib namespace.
Configuring Visibility of the Control
When you first add the Windows Media Player control to a form, it will be visible. If you do not want to use the visible image of the Player in your application, hide the default Player by setting any one of the following properties:
Property | Value |
---|---|
uiMode | «invisible» (See Player.uiMode.) |
Visible | «false» |
Size.Width | 0 |
Size.Height | 0 |
You can set these properties either in code or in the Properties window when the Windows Media Player control is selected in the form designer.
Object Model Compatibility of the Control
The object model for the Windows Media Player control is basically the same in the .NET Framework as in unmanaged code and script. However, there are differences in how elements are exposed:
- Most objects are exposed under the name of their underlying COM interface. For example, the Playlist object is exposed as IWMPPlaylist.
- Some interfaces have later versions. For example, IWMPMedia was given additional functionality in IWMPMedia2 and IWMPMedia3. If you declare an object as IWMPMedia, you usually have access to the functionality of all versions of the interface. However, IntelliSenseВ® will not recognize the methods or properties of the later-version interfaces, and the Visual Basic .NET editor will not automatically correct capitalization. To get the full benefit of IntelliSense and other features of Visual Studio, declare the object by using the latest version of the interface, such as IWMPMedia3.
- There are no indexed properties (C#) or default properties (Visual Basic .NET). For example, to retrieve a Playlist.item, you must call the IWMPlaylist.get_Item accessor method in C# or retrieve the IWMPlayist.Item property in Visual Basic .NET.
- Because of a naming conflict between the Windows Media Player Controls property and the Controls property exposed by every control, the Player version of this property is called CtlControls in the context of the ActiveX control. (However, this is not the case when you create the Player programmatically rather than as an ActiveX control.)
Use the Object Browser in Visual Studio to locate the correct API names for methods and objects in the AxWMPLib and WMPLib namespaces.
Windows Media Player ActiveX Control
ActiveX Controls have been deprecated by Microsoft in the latest versions of the Windows operating system in favor of the DotNet framework and its controls.
While MAXScript still supports ActiveX controls, these have to be installed and registered on the system to be accessible to MAXScript.
As a replacement of ActiveX controls, MAXScript supports DotNet controls in 3ds Max 9 and higher.
Returns the width of the image source as integer.
Returns the height of the image source as integer.
Returns the name of the author of the of source as string.
Returns the title if the image source as string.
Returns the copyright notice of the image source as string.
Returns the description of the image source as string.
Returns the rating of the image source as string.
Returns the file name of the image source as string.
Returns the duration of the video stream as float.
Get/Set the current position of the video stream as float.
Get/Set the play count (number of times to repeat the playback) as integer.
Get/Set the selection start as float.
Get/Set the selection end as float.
Returns the current state of the Media Player.
Get/Set the playback rate as a float.
Get/Set the audio volume as float.
Get/Set the audio balance as integer.
Enable/Disable the context menu.
Enable/Disable the display.
Enable/Disable the controls display.
Enable/Disable the position controls display.
Enable/Disable the selection controls display.
Enable/Disable the tracker display.
Enable/Disable the position controls.
Enable/Disable the selection controls.
Enable/Disable the Tracker.
Enable/Disable the display hiding.
Enable/Disable the controls hiding.
Get/Set the time/frames display mode.
Enable/Disable the changing of the time.frames display mode.
Get/Set the display foreground color as integer.
Get/Set the display background color as integer.
Get/Set the movie window size.
Enable/Disable fullscreen mode.
Enable/Disable Auto Start. When true, the movie will repeat playback when the last frame is reached. When false, the movie will not restart.
Enable/Disable Auto Rewind. When true, the movie will automatically jump back to the first frame when playback is finished. When false, the movie will remain on the last frame.
Returns the Windows handle of the ActiveX control.
Get/Set the appearance of the WMP control.
Get/Set the border style of the WMP control when .Appearance is set to #amvFlat .
Enable/Disable the WMP control.
Returns the Ready state of the WMP control.
Returns a DActiveMovieEvents object with the following methods:
.MediaPlayer DActiveMovieEvents Methods
Change the state of the Player.
Change the position of the Player.
Set the open state to complete.
Call the click event handler.
Call the double-click event handler.
Causes the keyDown event handler to be executed.
Causes the keyUp event handler to be executed.
Causes the keyPress event handler to be executed.
Causes the MouseDown event handler to be executed.
Causes the MouseMove event handler to be executed.
Causes the MouseUp event handler to be executed.
Causes the Error event handler to be executed.
Adding an Embedded Windows Media Player Control
There are two reasons you might consider adding an embedded instance of Windows Media Player to your HTMLView presentation. First, if you want to display video content, you need to use the Windows Media Player ActiveX control. Second, if you want to take advantage of features of the Windows Media Player object model from within your HTMLView webpage, you must use an instance the Player control to do so.
Using the Player control to display video in HTMLView content
Usually, Windows Media Player displays video using the Video and Visualization pane of the Now Playing feature. Since HTMLView uses this area to display your webpage, you must supply an additional video display area if you want the Player to play video. This is easy to do by using the Windows Media Player ActiveX control.
To use the Player control to display video, embed the control in your HTMLView webpage by using the OBJECT tag. This is the same technique you use to embed the Player control into any webpage in which you want to display video. The following example code shows the basic syntax for embedding the Player control in Internet Explorer:
The autoStart parameter ensures that content plays automatically whenever a new URL is specified. The value you specify for uiMode is up to you, but you will usually want to specify «none» when creating content for HTMLView presentations. When you embed the Windows Media Player control to display video in this manner, the user can control playback using the controls of the full-mode Player, so there’s no need to provide additional transport controls in the webpage. You can use the space you would usually allocate for transport controls to display more text, graphics, or links to other content.
Do not specify a URL parameter when embedding the Windows Media Player control in a webpage designed to display in an HTMLView presentation. Instead, specify the digital media files in the .asx file that opens the content.
Because you provide the video display region in your HTMLView webpage, you can decide where to position the video and how large you want the display region to be. For example, you can contain the Player object within an HTML DIV element and then specify the position for the DIV to situate the video display on the webpage. You can change the dimensions of the video display by specifying values for the height and width attributes of the OBJECT element. You can also specify these values using script code.
Using the Player object model
The Windows Media Player object model exposes properties, methods, and events that you can use in your HTMLView webpages. When you embed the Windows Media Player ActiveX control in your HTMLView webpage, you automatically have access to the Player object model.
If you embed the Windows Media Player control in your HTMLView webpage, do not use the Player object model to specify the digital media file to be played. For example, if you use script code to specify a value for the URL property of the embedded control, your HTMLView webpage will be unloaded from the Now Playing feature when the digital media file plays. To prevent this from happening, always open .asx files that include HTMLView parameters when you need to use script to open digital media content from your HTMLView webpage.
Windows Media Player ActiveX Control
ActiveX Controls have been deprecated by Microsoft in the latest versions of the Windows operating system in favor of the DotNet framework and its controls.
While MAXScript still supports ActiveX controls, these have to be installed and registered on the system to be accessible to MAXScript.
As a replacement of ActiveX controls, MAXScript supports DotNet controls in 3ds Max 9 and higher.
Returns the width of the image source as integer.
Returns the height of the image source as integer.
Returns the name of the author of the of source as string.
Returns the title if the image source as string.
Returns the copyright notice of the image source as string.
Returns the description of the image source as string.
Returns the rating of the image source as string.
Returns the file name of the image source as string.
Returns the duration of the video stream as float.
Get/Set the current position of the video stream as float.
Get/Set the play count (number of times to repeat the playback) as integer.
Get/Set the selection start as float.
Get/Set the selection end as float.
Returns the current state of the Media Player.
Get/Set the playback rate as a float.
Get/Set the audio volume as float.
Get/Set the audio balance as integer.
Enable/Disable the context menu.
Enable/Disable the display.
Enable/Disable the controls display.
Enable/Disable the position controls display.
Enable/Disable the selection controls display.
Enable/Disable the tracker display.
Enable/Disable the position controls.
Enable/Disable the selection controls.
Enable/Disable the Tracker.
Enable/Disable the display hiding.
Enable/Disable the controls hiding.
Get/Set the time/frames display mode.
Enable/Disable the changing of the time.frames display mode.
Get/Set the display foreground color as integer.
Get/Set the display background color as integer.
Get/Set the movie window size.
Enable/Disable fullscreen mode.
Enable/Disable Auto Start. When true, the movie will repeat playback when the last frame is reached. When false, the movie will not restart.
Enable/Disable Auto Rewind. When true, the movie will automatically jump back to the first frame when playback is finished. When false, the movie will remain on the last frame.
Returns the Windows handle of the ActiveX control.
Get/Set the appearance of the WMP control.
Get/Set the border style of the WMP control when .Appearance is set to #amvFlat .
Enable/Disable the WMP control.
Returns the Ready state of the WMP control.
Returns a DActiveMovieEvents object with the following methods:
.MediaPlayer DActiveMovieEvents Methods
Change the state of the Player.
Change the position of the Player.
Set the open state to complete.
Call the click event handler.
Call the double-click event handler.
Causes the keyDown event handler to be executed.
Causes the keyUp event handler to be executed.
Causes the keyPress event handler to be executed.
Causes the MouseDown event handler to be executed.
Causes the MouseMove event handler to be executed.
Causes the MouseUp event handler to be executed.
Causes the Error event handler to be executed.