У меня есть два вопроса относительно действия и свойств Silverlight SoundPlay.Мой сценарий выглядит так:
У меня есть две раскадровки: первая раскадровка содержит изображение и звуковой файл;когда приложение silverlight загружается, звук начинает воспроизводиться автоматически, но если кто-то щелкнет изображение, звуковой файл остановится, и вторая раскадровка начнется с новым звуковым файлом.
1) Мой первый вопрос:как остановить первый звуковой файл первой раскадровки, когда вторая раскадровка начинается со второго звукового файла.
2) Мой второй вопрос - как непрерывно воспроизводить звуковой файл;например, в Silverlight мы можем непрерывно играть в раскадровку с помощью RepeatBehavior = "Forever";но я не могу найти способ воспроизвести мой 10-секундный звуковой файл навсегда или непрерывно.
Примечание. Я приложил небольшой файл XAML, чтобы показать, о чем я говорю;Я также заявляю, что если вместо файла изображения, если бы была кнопка, я мог бы остановить первый музыкальный файл после нажатия кнопки и запустить свою вторую раскадровку с новым звуковым файлом, но я хотел бы использовать изображениефайл вместо кнопки.Является ли это возможным?Если да, то как это сделать?
Поэтому, пожалуйста, ответьте на мои следующие два вопроса или дайте большой совет или ссылки на учебные материалы на сайте
1) Как остановить первый звуковой файл первого рассказадоска, когда вторая раскадровка начинается со второго звукового файла (когда активируемый элемент - это изображение вместо кнопки) 2) Как непрерывно воспроизводить 10-секундный звуковой файл?
............ фрагмент кода ......................
XAML ............
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="testPrj.MainPage"
Width="640" Height="480">
<UserControl.Resources>
<Storyboard x:Name="Storyboard1" RepeatBehavior="Forever"/>
<Storyboard x:Name="Storyboard2"/>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="Red">
<Button HorizontalAlignment="Left" Margin="212,0,0,111" VerticalAlignment="Bottom" Width="75" Content="Button" Click="onClick"/>
<MediaElement x:Name="sound2_mp3" Height="0" HorizontalAlignment="Left" Margin="105,230,0,0" VerticalAlignment="Top" Width="0" Source="/sound2.mp3" Stretch="Fill"/>
<MediaElement x:Name="sound1_mp1" Height="0" HorizontalAlignment="Left" Margin="190,164,0,0" VerticalAlignment="Top" Width="0" Source="/sound1.mp3" Stretch="Fill" AutoPlay="False"/>
</Grid>
</UserControl>
...............
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace testPrj
{
public partial class MainPage : UserControl
{
public MainPage()
{
// Required to initialize variables
InitializeComponent();
}
private void onClick(object sender, System.Windows.RoutedEventArgs e)
{
Storyboard1.Stop();
sound2_mp3.Stop();
sound1_mp1.Play();
}
}
}