0

コントロールバーではなくボタンのマウスクリックに基づいてビデオをシークするようにストロボメディア再生を変更しようとしています。クリックするたびに「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 メソッドにフィードする必要があります。

null オブジェクト エラーの場合は、オブジェクトが存在することを確認する必要があります。

TypeError: エラー #1009: null オブジェクト参照のプロパティまたはメソッドにアクセスできません。 \osmf\player\chrome\widgets\JumpButton.as:49]

49 行目には、オブジェクトが 1 つしかありません: mediaPlayer - 使用する前に存在するかどうかのテストを追加します。

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

これにより、クリックしたときに mediaPlayer オブジェクトが利用できない理由を調査する必要がある TypeError を防ぐことができます。

よろしくお願いします

于 2012-10-25T12:48:16.007 に答える