У меня есть вопрос о нескольких MediaElement в WPF.Я хочу воспроизводить только один MediaElement снова и снова одновременно, пока не изменится аудиоиндекс.Источник звука - это всего лишь короткое слово, поэтому я буду повторять / повторять его.Но проблема в том, что он останавливается через некоторое время, не играя больше.Кто-нибудь может мне помочь?
Вот код:
*. Xaml
<MediaElement x:Name="mediaElementStrawberries" LoadedBehavior="Manual" UnloadedBehavior="Manual" MediaEnded="mediaElementStrawberriesEnded" Source="Media\Strawberries.mp3"/>
<MediaElement x:Name="mediaElementBlackberries" LoadedBehavior="Manual" UnloadedBehavior="Manual" MediaEnded="mediaElementBlackberriesEnded" Source="Media\Blackberries.mp3"/>
<MediaElement x:Name="mediaElementBlueberries" LoadedBehavior="Manual" UnloadedBehavior="Manual" MediaEnded="mediaElementBlueberriesEnded" Source="Media\Blueberries.mp3"/>
*. Cs
if (audioindex == 1)
{
mediaElementStrawberries.Play();
}
if (audioindex == 2)
{
mediaElementBlackberries.Play();
}
if (audioindex == 3)
{
mediaElementBlueberries.Play();
}
public void mediaElementStrawberriesEnded(object sender, RoutedEventArgs e)
{
if (audioindex == 1)
{
mediaElemenStrawberries.Position = TimeSpan.Zero;
mediaElementStrawberries.LoadedBehavior = MediaState.Play;
}
else if (audioindex == 2)
{
mediaElementBlackberries.Position = TimeSpan.Zero;
mediaElementBlackberries.LoadedBehavior = MediaState.Play;
}
else if (audioindex == 3)
{
mediaElementBlueberries.Position = TimeSpan.Zero;
mediaElementBlueberries.LoadedBehavior = MediaState.Play;
}
}
private void mediaElementBlackberriesEnded(object sender, RoutedEventArgs e)
{
if (audioindex == 2)
{
mediaElementBlackberries.Position = TimeSpan.Zero;
mediaElementBlackberries.LoadedBehavior = MediaState.Play;
}
else if (audioindex == 1)
{
mediaElementStrawberries.Position = TimeSpan.Zero;
mediaElementStrawberries.LoadedBehavior = MediaState.Play;
}
else if (audioindex == 3)
{
mediaElementBlueberries.Position = TimeSpan.Zero;
mediaElementBlueberries.LoadedBehavior = MediaState.Play;
}
}