Erstellen einer einfachen Suche media-player mit MediaElement in WPF
Habe ich auch geschrieben das auf den MSDN-Foren - ich hoffe, es ist nicht ein problem.
Ich bin im Grunde versucht, zu erstellen eine WPF-basierte video-player, die Ihnen erlaubt zu suchen, in Medien. Ich versuche es zu implementieren, mit MediaTimeline (ich weiß, ich kann ändern der Position-Eigenschaft, aber ich hatte andere Themen, die ich werde in einer separaten Frage). XAML und code-behind-sind unten.
Dank für das schauen...
MainWindow.xaml
<Window x:Class="WpfApplication5.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" SizeToContent="WidthAndHeight">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<MediaElement x:Name="mediaElement" Width="320" Height="240" Margin="4" LoadedBehavior="Manual"/>
<Slider x:Name="slider" Grid.Row="1" Margin="4"/>
</Grid>
</Window>
MainWindow.xaml.cs
using System;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Animation;
namespace WpfApplication5
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var tl = new MediaTimeline(new Uri(@"c:\temp\!numa.wmv"));
mediaElement.Clock = tl.CreateClock(true) as MediaClock;
mediaElement.MediaOpened += (o, e) =>
{
slider.Maximum = mediaElement.NaturalDuration.TimeSpan.Seconds;
mediaElement.Clock.Controller.Pause();
};
slider.ValueChanged += (o, e) =>
{
mediaElement.Clock.Controller.Seek(TimeSpan.FromSeconds(slider.Value), TimeSeekOrigin.BeginTime);
};
}
}
}
- was ist die Frage ?
- Hi Thomas, Es funktioniert nicht - das verschieben der regler wird nicht nach dem video. danke --oleg
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie ScrubbingEnabled="True" auf Zeitsteuerung zu haben, es zu aktualisieren, während sucht.
den MediaOpened Ereignis sollte eigentlich die Einstellung, die den maximalen Wert ."TotalSeconds, und Sie sollten auch festlegen, ScrubbingEnabled zu Wahr, wie jesperll hingewiesen.