1

JS/JQuery から呼び出す組み込みの ActiveX メディア プレーヤーを使用しています。問題なくプレーヤーで関数を呼び出してプロパティを設定できます。ただし、ActiveX コントロールから必要なプロパティの 1 つは、シグネチャを持つ LONG* ポインターです。

get_CurrentPlaybackTime_Sec(LONG* pVal)

..そして、どこから始めればよいかよくわかりません。私はいくつかのグーグルを行い、Javascript で BSTR への緩い参照をいくつか見つけましたが、それを実装する方法がわかりません。C# で使用する「out」に相当するものが必要だと思います。これが私がこれまでのところ...

  $("#fooBtn").click(function(){
    var currTime;
    o.get_CurrentPlaybackTime_Sec(currTime);
    $("#fooDiv").text(currTime);
  });

誰かが私を正しい方向に向けることができますか? どんな助けでも大歓迎です。

4

1 に答える 1

0

JavaScript では不可能ですが、同じページで VBScript を使用することで可能になります。私は VB の専門家ではありませんが、サンプル コードを探してみます。

[アップデート]

これを試して:

<script language="vbscript">
Function GetCurrentPlaybackTime()
    Dim objValue
    call o.get_CurrentPlaybackTime_Sec(objValue)
    GetCurrentPlaybackTime = objValue
End Function
</script>

<script language="javascript">
  $("#fooBtn").click(function(){
    $("#fooDiv").text(GetCurrentPlaybackTime());
  });
</script>

[編集済み]の IDL 署名が表示されませんでしたget_CurrentPlaybackTime_Sec。次のようになっている場合HRESULT get_CurrentPlaybackTime_Sec([out, retval]LONG* pVal): JavaScript から呼び出すことができるはずです。

var currTime = o.get_CurrentPlaybackTime_Sec();

がない場合はretval、VBScript が必要になります。

于 2013-08-21T11:11:09.007 に答える