WPF を使用して、ユーザーが要素の上にマウス ポインターを置いたときに再生を開始するビデオ要素を取得する方法はありますか? インタラクティブなデジタル リソースを作成したいと考えており、要素の上にマウスを置いてクリックしてムービー セクションに移動すると、ムービーのクリップが再生されるようにしたいと考えています。どんな助けでも素晴らしいでしょう。
これはすべて Windows アプリケーションに含まれます。
動画の再生に MediaElement を使用している場合は、MouseEntered イベントをリッスンしてPlay () を呼び出すだけです。
注: メディアをインタラクティブに停止、一時停止、および再生できるようにするには、MediaElement の LoadedBehavior プロパティを Manual に設定する必要があります。
次に例を示します。
C# コード ビハインドの場合:
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void mediaElement1_MouseEnter(object sender, MouseEventArgs e)
{
mediaElement1.Play();
}
private void mediaElement1_MouseLeave(object sender, MouseEventArgs e)
{
mediaElement1.Stop();
}
private void mediaElement1_Loaded(object sender, RoutedEventArgs e)
{
mediaElement1.Pause();
}
}
XAML の場合:
<Window x:Class="VideoTest.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<MediaElement Margin="12"
Name="mediaElement1"
Source="mediaFile.avi"
LoadedBehavior="Manual"
MouseEnter="mediaElement1_MouseEnter"
MouseLeave="mediaElement1_MouseLeave"
Loaded="mediaElement1_Loaded"
/>
</Grid>
</Window>
で問題が見つかりました
<MediaElement Margin="12"
Name="mediaElement1"
Source="mediaFile.avi"
LoadedBehavior="Manual"
MouseEnter="mediaElement1_MouseEnter"
MouseLeave="mediaElement1_MouseLeave"
Loaded="mediaElement1_Loaded"
/>
それは好きではないようです
Loaded="mediaElement1_Loaded"
そのため、コード ビハインドの Initialize を変更して、
mediaElement1.Pause();
そして、それはうまく機能しています。