ASP.Net Web アプリケーションの Web ページに埋め込まれた Silverlight アプリケーションを開発するために、C# で VSTS 2008 を使用しています。XAML に MediaElement アイテムを埋め込みました。私の質問は、Silverlight メディア プレーヤーをページに埋め込んで、エンド ユーザーが MediaElement アイテムを手動で制御して再生/一時停止/停止/巻き戻し/早送りできるようにしたいということです。参考サンプルはありますか?
前もって感謝します、ジョージ
EDIT1: より正確な要件を追加し、
実際には、再生を手動で制御したいということです。つまり、プレーヤーの再生/一時停止/停止/巻き戻し/転送イベントを処理し、イベント ハンドラーのコードを追加して MediaElement を制御し、何か他のことを行いたいということです。
EDIT2: 私のニーズは、2 つのオーバーラップしたビデオを再生したいということです。バックグラウンド ビデオとしてスクリーン、フォアグラウンド ビデオとしてカメラ (右下隅に配置)。これがコードの変更です。現在の問題は、バックグラウンド ビデオのみが再生され、フォアグラウンドの右下のビデオが再生されないことです。誰にも理由はありますか?
ところで:私の変更されたコードと現在の作業は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();
}
Page.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"/>
Page.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);
}
default.html
<param name="initParams" value="cc=true,markers=true,markerpath=markers_movie21.xml,m=http://localhost/screen.wmv,c=http://localhost/camera.wmv" />