1

私はSilverlight用のカスタムプレーヤーを開発しています.1つはベースでMediaElement、もう1つはSmootStreamingMediaElement. 現時点では、SDK 5.0 の最新バージョンを使用していますが、すべての問題が解決されたら、以前のバージョンをサポートしたいと考えています。

すべてが正常に動作しており (再生)、プラットフォームと API についての基本的な理解が得られましたが、(重要な) 些細な機能で立ち往生しています: 現在再生中のビデオのビットレート情報を取得したい.単一のビットレートまたはマルチビットレートのファイルの場合...両方のケースで機能する必要があります。

私が知る限り、MediaElementAPI には次のプロパティとメソッドがありますが、これらは役に立ちますが、十分ではありません:DownloadProgressBufferProgress. クラスのTotalBytesDownloadedプロパティを除いて、ビットレートまたは同様の情報を取得するためのメソッドが仕様に見つかりません。SmoothStreamingMediaElement

MediaElement とSmootStreamingMediaElementAPI を使用して、ビデオ ファイルの平均ビットレートまたは瞬時ビットレートを取得できますか?

そうでない場合、それを処理するための回避策はありますか?

ビデオに関する詳細情報を取得するためにMediaItem、(インスタンス内から)アクセスできますか?MediaElement

4

1 に答える 1

0

組み込みMediaElementクラスにはそのような機能はありません。SmoothStreamingMediaElementただし、より高度なクラスを使用して現在のビットレートを検出できます。

このクラスの使用方法を説明する msdn の記事は次のとおりです:ビットレートの選択と監視

現在のビットレートを監視する完全なコード:

public MainPage()
{
    InitializeComponent();
    media.PlaybackTrackChanged += OnPlaybackTrackChanged;
}

void OnPlaybackTrackChanged(object sender, TrackChangedEventArgs e)
{
    Debug.WriteLine("Current bitrate: " + e.NewTrack.Bitrate.ToString());
}
于 2013-10-21T22:45:05.623 に答える