The issue we were running into was that when using a Content Editor Web Part to render code to play video in Windows Media Player, the video played just fine. However, the drop-down menu for the CEWP was now hidden behind the Windows Media Player video.
Here is the code we were using (generic URLs):
<object classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" width="600" height="400" id="mediaplayer1" title="Win Media Player">
<param name="FileName" value="http://web.domain.com/site/SiteImages/video.wmv">
<param name="AutoStart" value="True">
<param name="ShowControls" value="True">
<param name="ShowStatusBar" value="False">
<param name="ShowDisplay" value="False">
<param name="AutoRewind" value="True">
<param name="DisplayBackColor" value="False" />
<param name="BufferingTime" value="6">
<embed src="http://web.domain.com/site/SiteImages/video.wmv " width="600" height="400" autostart="True" wmode="transparent" type="application/x-mplayer2"
pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/MediaPlayer/" filename="http://web.domain.com/site/SiteImages/video.wmv" showcontrols="True" showstatusbar="False" showdisplay="False" autorewind="True" displaybackcolor="True" bufferingtime="6"></embed>
</object>
All this is pretty standard.
I had encountered this with Flash video and so tried just adding
<param name="wmode" value="transparent"/>
This works fine when we encounter this with Flash video. But, not here.
Found out that Windows Media Player is not really rendered as part of the page by the browser, but actually is called by the code to be rendered by the OS. It is placed on the page according to the code, but is not "part" of the page.
This is not normally bad, as it allows the OS to use a different process, outside the browser, to do playback and is a more efficient way to manage system resources. But, this means any content on the page is rendered "beneath" the media player window. So, it's not even a layer we could manipulate with <DIV> layering.
The solution is to force the browser process to render the Windows Media Player and not just call the OS process. This is done by adding a parameter to the code as follows:
<param name="windowlessVideo" value="True"/>
This parameter is False by default so setting it to True keeps the browser from calling the OS to create a window layer.
A load off my mind and I won't lose as much hair now.
Have fun!