0

我正在使用一个 NPAPI 插件,它包装了一个用于 Chrome/Firefox 的 ActiveX 控件。我写的都没有。它是一个嵌入式 ActiveX 媒体播放器,与跨浏览器插件捆绑在一起,可以通过浏览器播放我需要的某些文件类型,普通播放器或标签无法播放(否则我会使用其他东西!)

我可以创建播放器,并从任何浏览器控制它的几乎所有方面,除了在 Chrome 中从 JS 调用 Seek(position) 命令时,播放器似乎没有收到该值。例如,如果我从 JS 发送...

GotoTime(30, 'myPlayer');

function GotoTime(position, player)
{
    console.log("TYPE: " + typeof position);
    o = document.getElementById(player);
    console.log("Seeking to:" + position);
    o.Seek(position);
}

在 Firefox 和 IE 中,它会将媒体提示到正确的位置(在这种情况下为 30 秒),但在 Chrome 中,它似乎总是将该值转换为零并从头开始播放剪辑。

正如您从函数中看到的那样,我确认(在控制台日志中)我实际上传递的是“数字”而不是“字符串”,但我认为 NPAPI 插件可能将其解释为浮点数而不是一个 int 或反之亦然。

我 99% 确定这是插件的问题并且超出了我的控制,我已经联系了供应商,但他们并没有太大帮助。有人对我可以尝试的事情有任何想法吗?

顺便说一句,有问题的插件在这里

非常感谢

4

1 回答 1

0

也许 NPAPI 插件将其解释为 float 而不是 int,反之亦然

在 NPAPI 中,您可以将数字作为int32_tdouble传递给插件- 完全未指定您获得哪种类型。

将参数解释为0在需要时不转换数字类型的典型症状,因此这很可能是包装插件的问题。它们应根据变体
转换为所需的数字类型。type

于 2013-09-24T13:26:52.937 回答