MainWindow にページ遷移コントロールがあります (ホームページにつながるいくつかのボタンとホームボタンがあります)、 MainWindow のボタンをクリックして、 MainWindow 内のページ遷移内にユーザーコントロールページを表示します。そのユーザーコントロールページで再生されます。問題ありませんが、ホームボタンをクリックしてホームページを表示すると、そのユーザーコントロールページからのオーディオがまだ再生されています。ユーザー コントロール ページがバックグラウンドで実行されないようにするにはどうすればよいですか?
これは、ユーザー コントロール ページをメインウィンドウのページ遷移コントロールに呼び出す方法です。
private void button2_Click(object sender, RoutedEventArgs e) // Story
{
Story page = new Story();
pageTransition1.IsEnabled = true;
pageTransition1.Visibility = System.Windows.Visibility.Visible;
grid1.Visibility = System.Windows.Visibility.Hidden;
pageTransition1.ShowPage(page);
}
private void button5_Click(object sender, RoutedEventArgs e) // Home Button
{
pageTransition1.Visibility = System.Windows.Visibility.Hidden;
pageTransition1.IsEnabled = false;
grid1.Visibility = System.Windows.Visibility.Visible;
}
基本的に、ホームボタンをクリックすると、ユーザーコントロールページの実行を停止したいだけです(バックグラウンドで実行されているため)。
ユーザー コントロール ページでサウンドを再生する方法 ::
mediaElement1.LoadedBehavior = MediaState.Manual;
mediaElement1.Source = new Uri(audioNames[iCurrentImageCount], UriKind.RelativeOrAbsolute);
mediaElement1.Play();
と
MediaPlayer ap = new MediaPlayer();
recordedaudio = System.IO.Directory.GetFiles(@"../../Audio/", "*.wav");
if (recordedaudio == null)
{ MessageBox.Show("No Recorded Files!"); }
else
{
ap.Open(new Uri(recordedaudio[iCurrentImageCount], UriKind.RelativeOrAbsolute));
ap.Play();
}