2017-05-05 9 views
1

私は、Windows 10 UWP MediaPlayerを使用してオーディオストリーミングアプリを構築しています。 ほとんどのストリームは、ストリーム自体に埋め込まれたプログラムに関するメタデータを含むshoutcast/icecast mp3-streamタイプです。UWP MediaPlayerからストリームメタデータを取得する方法は?

audiostreamを再生するための私のコードは、基本的にこのようなものです:

mediaPlayer.Source = MediaSource.CreateFromUri(channelUri); 
mediaPlayer.Play(); 

私は、HttpClientをして同じストリームのURLを開いて、メタデータを解析し、情報を読み取る完全に可能だが、これはものではありませんが欲しいです。私は10秒ごとにメタデータを取得する必要があり、2つの同時セッションを望んでいません。

だから私は2つの質問があります

  1. は、メタデータを読み取ることができるUWP MediaPlayerの成分であり、もしそうなら、どのように?
  2. もしそうでなければ、httpclient(または何か他のもの)経由でストリームを開き、メタデータを読んでから、同じストリームをMediaPlayerに送ることができますか?

例ストリーム:http://sverigesradio.se/topsy/direkt/164-hi-mp3

答えて

1

私はUWPを使ったことがない、私はあなたがウェブ開発の観点から来るのためのソリューションを持っている、とUWPは非常によく似たAPIを使用しているように見えます。

UWP MediaPlayerコンポーネントはメタデータを読み取ることができますか?

おそらくそうではありません。私が見たMicrosoftのコードはありません。ウェブブラウザのメディアプレーヤーのいずれもこれをネイティブに処理しません。

もしそうでなければ、httpclient(または他のもの)経由でストリームを開き、メタデータを読み込んでから、同じストリームをMediaPlayerに送信できますか?

はい、これはまさにあなたがすべきことです。

MediaSource Extensionsを使用してください。 MSEは、少なくともWebブラウザのコンテキストでは、あなたが望む任意の手段を使用してメディアデータを取得し、それをメディアプレーヤーに渡して、コーデックと再生を実行できるようにします。

ブラウザでは、Icy-MetaData: 1ヘッダーを使用してHTTPリクエストを作成し、サーバーからメタデータを要求し、Icy-MetaIntレスポンスヘッダーを読み取り、メタデータチャンクのバイトオフセットを確認し、メタデータをdemuxしますオーディオデータをバッファにドロップしてメディアプレーヤーに送る前に、オーディオデータから再生することができる。

あなたがUWPのために始めるためにいくつかのリソース:

申し訳ありませんが、私はあなたにUWPのためのより具体的なコードを与えることはできません!

関連する問題