5

SmoothStreamingSource を設定してから .Play() を呼び出すと、次の例外が発生します...

「ソースセットがない場合は再生できません。」

奇妙なことに、この例外 (以下のコードを参照) を処理すると、ビデオの再生が開始されます。奇数?msdn によると、SmoothStreamingSource プロパティは Source プロパティを自動的に設定するため、例外が発生することはありません。コードをステップ実行すると、SmoothStreamingSource プロパティの設定後に Source プロパティが設定されていることが確認できます。

これが内部でより大きな問題の兆候である場合は、例外を処理するだけでなく、陽気な道を進みたいと思います。

これどうしたの?私のコード...

try
        {
            Uri uri = (Uri)((Button)source).Tag;

            smoothStreamingMediaElement1.SmoothStreamingSource = uri;

            if (smoothStreamingMediaElement1.SmoothStreamingSource != null)
                MessageBox.Show(smoothStreamingMediaElement1.SmoothStreamingSource.ToString());
            else
                MessageBox.Show("SmoothStreamingSource is NULL");

            smoothStreamingMediaElement1.Play();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
4

1 に答える 1

4

SmoothStreamingSource プロパティを設定するときは、Uri 変数を設定するだけです。

プレーヤーが再生を開始するには、SmoothStreamingMediaElement がストリームの再生に必要なすべての情報を含むマニフェストをダウンロードするのを待つ必要があります。

したがって、あなたの場合、SmoothStreamingSource プロパティを設定した直後に Play メソッドを呼び出すのではなく、ManifestReady または MediaOpened イベントをサブスクライブしてから、Play メソッドを呼び出します。

于 2013-02-14T08:15:32.497 に答える