1

xamarin を使用してアプリケーションの開発を開始しました。私のソリューション内のプロジェクトの 1 つは UWP です。

誰かがボタンをクリックしたときにサウンドを再生する必要があります。私は MediaPlayer を使用して目標を達成しています。Windows 10 (デスクトップ) では正常に動作しますが、Windows Mobile 10 (Lumia 930) では長い遅延 (約 1 2番目)。

以下に、オーディオ ソースを再生するためのコードを示します。

MediaPlayer _player = BackgroundMediaPlayer.Current;
_player.SetUriSource(new Uri(String.Format("ms-appx:///Assets/Sound/5s.wav", UriKind.Absolute)));            
_player.Play();

私の質問は:

UWP で MediaPlayer 以外にオーディオを再生する方法はありますか?

4

2 に答える 2

1

バックグラウンド オーディオを使用する特定の理由がない場合は、メディア要素のみを使用して、オーディオをフォアグラウンドで再生できます。

<!-- create element in XAML or in code -->
<MediaElement Name="mediaElement" ... />


// Code - set source or reference to stream
MediaElement mediaElement = new MediaElement();
mediaElement.Source = new Uri("msappx:///Media/sound.mp3");    

また、サポートされているコーデックのリストを確認することをお勧めします。

より複雑なシナリオでは、オーディオ グラフAPI を参照することをお勧めします。

于 2016-05-18T22:09:41.070 に答える
0

これが悪い習慣かどうかはわかりませんが、メディアをプリロードするとすぐに再生できます。

疑似コードでのこの例のようなもの (c# スタイル):

class Foo
{
   private MediaPlayer _player;

    Foo() //constructor
    {
      _player = BackgroundMediaPlayer.Current;
      _player.AutoPlay = false;
      _player.SetUriSource(new Uri(String.Format("ms-appx:///Assets/Sound/5s.wav", UriKind.Absolute)));            
    }

    void ButtonClicked(Object sender, EventArgs event)
    {
        _player.Play();
    }
}
于 2016-09-17T18:26:17.903 に答える