Windows Phone 7 アプリケーションで 2 つのビデオを同時に再生できますか。
1 つの xaml ページで 2 つのメディア要素を使用しています。しかし、表示される動画は 1 つだけです。どうすればビデオを再生できますか。いくつかの指針を提案してください。
Windows Phone 7 アプリケーションで 2 つのビデオを同時に再生できますか。
1 つの xaml ページで 2 つのメディア要素を使用しています。しかし、表示される動画は 1 つだけです。どうすればビデオを再生できますか。いくつかの指針を提案してください。
ページで使用できる MediaElement は 1 つだけです。最初にMediaElement 設計ガイドラインを参照してください。
ビデオで表示されている理由は、MediaElement を使用すると、再生中の他のすべてのオーディオ ビデオが停止するためです。
MediaElement または別のオプションを使用して 2 つのビデオを再生する方法の答えは、CompositionTarget.Rendering Event です。CompositionTarget.Rendering は実際にフレームをレンダリングします。詳細については、こちらをご覧ください。
XAML のコード
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel>
<MediaElement Name="ME1" Source="/Images/oceansclip1.mp4" Stretch="Fill" AutoPlay="False" VerticalAlignment="Top" Height="250"/>
<MediaElement Name="ME2" Source="/Images/oceansclip2.mp4" Stretch="Fill" AutoPlay="False" VerticalAlignment="Top" Margin="0,10" Height="250"/>
<Button Content="Play" Click="Button_Click_1"/>
</StackPanel>
</Grid>
コード ビハインド XAML
private void Button_Click_1(object sender, RoutedEventArgs e)
{
CompositionTarget.Rendering += CompositionTarget_Rendering1;
}
private void CompositionTarget_Rendering1(object sender, EventArgs e)
{
mediaElement1.Play();
mediaElement2.Play();
}
ただし、CompositionTarget.Rendering は呼び出し間の時間を保証しないため、フレームの実行速度が速くなったり遅くなったりする場合があります。