0

我正在尝试修改 Strobe 媒体播放,以根据鼠标点击按钮而不是控制栏来搜索视频。每次点击都应该让我提前“n”秒,它应该清除缓冲区并自动插入正确的片段。

为此,我有一个基于单击按钮时触发的功能,但我无法搜索。我收到一个错误:cannot access a property or method of a null object reference

有人可以告诉我这里出了什么问题:

        override protected function onMouseClick(event:MouseEvent):void
    {

        httpStreamSource.seek(9);
//          mediaPlayer.seek(55);

        showRight = !showRight;
        if(showRight)
            setFace(down);
        else
            setFace(up);
    }

提前致谢!

4

1 回答 1

0

对于提前寻找 n 秒,您应该将当前时间添加 n 秒并将其提供给 seek 方法。

对于您的空对象错误,您必须确保该对象存在:

TypeError:错误 #1009:无法访问空对象引用的属性或方法。在 org.osmf.player.chrome.widgets::JumpButton/_seekVideo()[I:\OSMF\player\StrobeMed‌​iaPlayback\src\org \osmf\player\chrome\widgets\JumpButton.as:49]

在第 49 行,您只有一个对象: mediaPlayer - 如果它存在,请在使用前添加测试:

private function _seekVideo( seekTo : Number ):void 
{ 
    if (mediaPlayer && mediaPlayer.canSeekTo(seekTo * mediaPlayer.duration))
    {
        mediaPlayer.seek( seekTo * mediaPlayer.duration );//line49 
    }
}

这将防止 TypeError 您应该调查为什么在您单击它时 mediaPlayer 对象不可用。

最好的祝福

于 2012-10-25T12:48:16.007 回答