none
objectで張られたプラグインの操作 RRS feed

  • 質問

  • 初歩的な質問ですみません。

    VLCのプラグインを用いて、IE上で表示させようと思っています。

     <object type="application/x-vlc-plugin" pluginspage="http://www.videolan.org"
        version="VideoLAN.VLCPlugin.2" id="vlc" events="True"
                classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" >
                    <param name="MRL" value="rtp://@239.0.0.1:5004" />
                    <param name="volume" value="50" />
                    <param name="autoplay" value="true" />
                    <param name="loop" value="false" />
                    <param name="fullscreen" value="false" />
        </object>

     このようにして、張り付けて、表示ができるようになりましたが、

     TextBoxとButtonを貼り付け、TextBoxへ"MRL"のパラメータを入れ、

     Button押下で再生できるようにしたいのですが、どうやって、objectを制御すればよいのでしょうか?

     初歩的な質問で申し訳ありませんが、お知恵をお願いします。

     

    2011年4月25日 8:45

回答

  • > *.aspx.csの記述として、
    >
    >  protected void Button1_Click(object sender, EventArgs e)
    >    {
    >        vlc.MRL = TextBox1.Text;
    >    }
    >
    > このような感じで、コントロールできますか?

    できないはずです。実際にご自分で試してみて、できなかったのではないで
    すか?

    もし、Button クリックでポストバックして再描画することが許されるなら、
    VLC を挿入する位置に Literal コントロールを配置し、Button1_Click イ
    ベントハンドラで、

    "<object type='application/x-vlc-plugin' ... " +
        ...
        "<param name='MRL' value='" + TextBox1.Text + "' />" +
        ...
    "</object>"

    というような文字列を組み立てて、Literal.Text プロパティに設定してやれ
    ばよいと思います。

    注:ユーザー入力には悪意のあるクライアント スクリプトが含まれている可
    能性がありますので、十分検証してください。

    でも、実用上は、JavaScript を使ってクライアント側だけで処置する
    のが正解ではないでしょうか?

    • 回答としてマーク 山本春海 2011年5月11日 8:03
    2011年4月28日 11:44
  • ASP.NETとはWebサーバー上で動く技術です。TextBoxやButtonもWebブラウザ上で表示されていますが、内部でいろいろな処理を行って最終的にはWebサーバー上で操作されているかのように振る舞います。

    それに対してVLCプラグインはブラウザ上で動作します。

    ですので、ASP.NETからVLCプラグインを操作するのは困難です。(もちろんがんばればできます。)

    それよりはWebブラウザ上で<input type="text"/>などをJavaScriptで操作しそのままVLCプラグインにその値を引き渡した方が簡単かと思われます。そしてその場合、ASP.NETは無関係で単純なHTML / JavaScriptの操作方法の問題になります。

    • 回答としてマーク 山本春海 2011年5月11日 8:03
    2011年4月29日 2:28
  • SurferOnWww殿 佐祐理殿

    返事が遅れ申し訳ありません。

    参考にさせていただきました。ありがとうございました。

     

    • 回答としてマーク Itumi 2011年5月13日 2:21
    2011年5月13日 2:20

すべての返信

  • VLC の使い方(パラメータの設定方法など)が知りたいのか、純粋に ASP.NET の
    コントロールの使い方(例えば、Button クリックでポストバックして TextBox に
    入力された文字列を html コードまたは JavaScript を組み立ててブラウザに返す
    など)を知りたいのか、どちらでしょう?

    後者なら、もう少し具体的にどのようにしたいか書いていただけるとお役に立てる
    かもしれません。

    前者であるとすると、質問するサイトが違うような気がします。

    2011年4月27日 11:56
  • SurferOnWww殿

    ありがとうございます。質問の仕方が見えにくかったですね。

    Objectにより張られた(VLCプラグイン)、内部パラメータ(今回はMRL)の操作方法を教えてください。、

    具体的には、

    asp.netにより張られたテキストボックス(下記)

    <asp:TextBox ID="TextBox1" runat="server"
                 style="z-index: 1; left: 54px; top: 33px; position: absolute"></asp:TextBox>

    このテキストボックスにパラメータを入力し、asp.netにより張られたボタン(下記)

    <asp:Button ID="Button1" runat="server"
                 style="z-index: 1; left: 217px; top: 33px; position: absolute" Text="play"
                 onclick="Button1_Click" />

    押下により、テキストボックスの内容を、objectの"MRL"パラメータを変更したい。

    *.aspx.csの記述として、

      protected void Button1_Click(object sender, EventArgs e)
        {
            vlc.MRL = TextBox1.Text;
        }

    このような感じで、コントロールできますか?

     

    2011年4月28日 0:25
  • > *.aspx.csの記述として、
    >
    >  protected void Button1_Click(object sender, EventArgs e)
    >    {
    >        vlc.MRL = TextBox1.Text;
    >    }
    >
    > このような感じで、コントロールできますか?

    できないはずです。実際にご自分で試してみて、できなかったのではないで
    すか?

    もし、Button クリックでポストバックして再描画することが許されるなら、
    VLC を挿入する位置に Literal コントロールを配置し、Button1_Click イ
    ベントハンドラで、

    "<object type='application/x-vlc-plugin' ... " +
        ...
        "<param name='MRL' value='" + TextBox1.Text + "' />" +
        ...
    "</object>"

    というような文字列を組み立てて、Literal.Text プロパティに設定してやれ
    ばよいと思います。

    注:ユーザー入力には悪意のあるクライアント スクリプトが含まれている可
    能性がありますので、十分検証してください。

    でも、実用上は、JavaScript を使ってクライアント側だけで処置する
    のが正解ではないでしょうか?

    • 回答としてマーク 山本春海 2011年5月11日 8:03
    2011年4月28日 11:44
  • ASP.NETとはWebサーバー上で動く技術です。TextBoxやButtonもWebブラウザ上で表示されていますが、内部でいろいろな処理を行って最終的にはWebサーバー上で操作されているかのように振る舞います。

    それに対してVLCプラグインはブラウザ上で動作します。

    ですので、ASP.NETからVLCプラグインを操作するのは困難です。(もちろんがんばればできます。)

    それよりはWebブラウザ上で<input type="text"/>などをJavaScriptで操作しそのままVLCプラグインにその値を引き渡した方が簡単かと思われます。そしてその場合、ASP.NETは無関係で単純なHTML / JavaScriptの操作方法の問題になります。

    • 回答としてマーク 山本春海 2011年5月11日 8:03
    2011年4月29日 2:28
  • SurferOnWww殿 佐祐理殿

    返事が遅れ申し訳ありません。

    参考にさせていただきました。ありがとうございました。

     

    • 回答としてマーク Itumi 2011年5月13日 2:21
    2011年5月13日 2:20