2012-10-25 70 views
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); 
    } 

提前感謝!

+0

你應該顯示錯誤的行 - 空引用意味着該對象不能訪問你調用方法/屬性。 –

+0

感謝您的迴應,程序編譯成功,當我播放視頻時發生此錯誤。是否可以通過調試獲取行號?當我不使用查找線時,沒有錯誤,所以我非常確定原因必須在這個函數中。 – jamie

+0

所以添加完整的錯誤堆棧,以便我們可以看到錯誤的傳播。 也是httpStreamSource和mediaPlayer不能爲空。 –

回答

0

爲了提前n秒尋找,您應該採取當前時間添加n秒鐘並將其饋送到尋找方法。

爲你空對象錯誤,你必須確保對象存在:

TypeError: Error #1009: Cannot access a property or method of a null object reference.at org.osmf.player.chrome.widgets::JumpButton/_seekVideo()[I:\OSMF\player\StrobeMed‌​iaPlayback\src\org\osmf\player\chrome\widgets\JumpButton.as:49]

在第49行只有一個目的

:媒體播放器 - 如果存在使用前加試:

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

這將防止TypeError,您應該研究爲什麼mediaPlayer對象在您點擊它時不可用。

最好的問候

+0

嗨,非常感謝。我設法歸零並解決它。但是現在當我嘗試執行相同的例程時,它會返回一個'錯誤:當前不支持指定的功能'。做進一步的挖掘,我看到媒體播放器。如果視頻中的任何一點都是虛假的,可以搜索。我不確定爲什麼會發生這樣的事情。我正在使用頻閃執行HDS-VOD。任何想法都會非常有用!提前致謝! – jamie