Silverlight デベロッパー センター > Silverlight フォーラム > Silverlight - ビデオとメディア > スライダーバーによるメディアポジション変更
質問する質問する
 

質問スライダーバーによるメディアポジション変更

  • 2009年7月17日 9:47ICHI_MASA ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    いつもお世話になっております。

    スライダーを動かしたときに、メディアの再生位置を変化させるようなものを書いております。

    ▼xaml
    <Slider x:Name="PlaySlider" MouseMove="Slider_MouseMove"/>

    ▼xaml.cs
    private void Slider_MouseMove(object sender, MouseEventArgs e)
    {
    movie.Position = PlaySlider.Value;
    }

    上記のデバックで、「型'double'を型'system timespan'に暗黙的に変換できません。」というエラーが出てしまいます。
    型変換を言われているのは分かるのですが、いろいろ試してみてもダメでした。
    どこが違うのでしょうか?

すべての返信

  • 2009年7月19日 11:16sleeping_coelacanth ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    こんにちは。

    変数movieの中身はMediaElement型のインスタンスと想定した場合、
    movie.Positionに代入できる値はTimeSpan型(00:00:00というような)ですが、
    PlaySliderのValueはdouble型なのでエラーになっています。

    簡単にエラーの内容を解説する場合は、

    movie.Position = TimeSpan.FromSeconds(PlaySlider.Value);

    とすることで動作させることが可能です。


    おそらく、欲しいのは動画の再生を制御するスライダーだと思いますので、その場合は、

    ・動画全体の再生時間
    ・スライダーの最大値

    などの値をもとに値を制御すれば良いと思います。