我正在使用带有 C# 的 VSTS 2008 来开发嵌入在 ASP.Net Web 应用程序的网页中的 Silverlight 应用程序。我在 XAML 中嵌入了一个 MediaElement 项。我的问题是,我想将页面嵌入一个 Silverlight 媒体播放器,它可以让最终用户手动控制 MediaElement 项目——播放/暂停/停止/倒带/前进。有参考样本吗?
提前谢谢,乔治
EDIT1:添加更准确的要求,
实际上,我想手动控制播放,这意味着我想处理播放器播放/暂停/停止/倒带/前进事件,并为事件处理程序添加我的代码来控制 MediaElement 并执行其他操作。
EDIT2:我的需要是,我想播放两个重叠的视频。屏幕作为背景视频,摄像头作为前景视频(位于右下角)。这是我对代码的修改,我目前的问题是,只播放背景视频,从不播放前景右下角视频。有谁知道为什么?
顺便说一句:我修改后的代码和当前的工作是基于http://www.codeplex.com/sl2videoplayer
http://www.yourfilehost.com/media.php?cat=other&file=sl2videoplayer_24325_new.zip
下面简单介绍一下我的主要修改代码,
mediaControls.xaml.cs
private MediaElement _media = null;
private MediaElement _camera = null;
public MediaElement Camera
{
set
{
_camera = value;
}
}
void btnPlay_Checked(object sender, RoutedEventArgs e)
{
_camera.Play();
_media.Play();
OnPlayClicked();
}
页面.xaml
<MediaElement HorizontalAlignment="Stretch" Margin="0,0,0,0" x:Name="mediaPlayer" Stretch="Uniform" VerticalAlignment="Stretch" AutoPlay="false"/>
<MediaElement Width="100" Height="100" x:Name="cameraPlayer" AutoPlay="false" HorizontalAlignment="Right" VerticalAlignment="Bottom"/>
页面.xaml.cs
cameraPlayer.Source = App.Current.Resources["c"] as Uri;
App.xaml.cs(Application_Startup 函数)
else if (item.Key.ToLower() == "c")
{
FormatUri(e.InitParams["c"].ToString(), "c", false);
}
默认.html
<param name="initParams" value="cc=true,markers=true,markerpath=markers_movie21.xml,m=http://localhost/screen.wmv,c=http://localhost/camera.wmv" />