none
UWP (音声ファイル使用)で音声を停止する方法 RRS feed

  • 質問

  • UWP (音声ファイル使用)で音声を停止する方法を教えて下さい。

    できればリセットボタンを押す時以外は、「① ストップボタン → 音声停止」、「② ストップボタンのあとのスタートボタン → 続きからの音声 Start」にしたいのですが‐‐‐。現在は、ストップボタンを押しても音声が停止しません(最初からStartします)。宜しくお願いします。 (Wiindows10  Home  Visual Studio 2017) 

       bool isOdd = true;       //true:奇数回目
          
            private void btn_Click(object sender, RoutedEventArgs e)
            {
                var mediaUri = new Uri($"ms-appx:///Assets/Sound/sound 3.MP3");
                if (isOdd == true)
                {
                    PlaySound(mediaUri);
                    isOdd = false;
                }
                else
                {  
                    StopSound(mediaUri);
                    isOdd = true;
                 }
                        
                btn.Content = isOdd ? "スタート" : "ストップ";
            }
            private async void PlaySound(Uri mediaUri)
            {
                var file = await StorageFile.GetFileFromApplicationUriAsync(mediaUri);
                var stream = await file.OpenReadAsync();
                mediaElement.SetSource(stream, file.ContentType);
                mediaElement.Play();
            }
            private async void StopSound(Uri mediaUri)
            {      //Stop機能のコードが分かりません
                var file = await StorageFile.GetFileFromApplicationUriAsync(mediaUri);
                var stream = await file.OpenReadAsync();
                mediaElement.SetSource(stream, file.ContentType);
                mediaElement.Stop();
            }
            private void btnReset_Click(object sender, RoutedEventArgs e)
            {
                btn.Content = "スタート" ;
            }

    2017年12月15日 7:25

回答

  • こんにちは。

    Stop時のSetSourceやOpenReadAsyncをせずに、そのままStopを試してみてください。

    さらに、続きから再生したい場合は Stop ではなく Pause を使うほうが良いかもしれませんね。

    2017年12月15日 12:44
    モデレータ

すべての返信

  • こんにちは。

    Stop時のSetSourceやOpenReadAsyncをせずに、そのままStopを試してみてください。

    さらに、続きから再生したい場合は Stop ではなく Pause を使うほうが良いかもしれませんね。

    2017年12月15日 12:44
    モデレータ
  • 返信を頂き有難うございます。

    音声を停止することができました。(PauseSound については少し試してみたのですが、後ほどいろいろ試してみます。)とにかく音声をStopさせたかったので、アドバイスを頂き有難うございました。

    2017年12月15日 14:42