2011-08-23 44 views
0

在我的應用程序中,我將BrowserField2添加到基於流媒體的MainScreen和Media Player - 開始完成。我正在嘗試使用擴展的JavaScript從瀏覽器打開媒體播放器。我的計劃是,當用戶點擊網頁中的某些鏈接時,我會調用擴展的JavaScript功能,並使用一些參數(如流式傳輸的視頻的網址)。該功能反過來將媒體播放器屏幕與傳遞的URL一起推入。媒體播放器運行良好,並在單獨使用時流式傳輸視頻。但是,當使用擴展的JavaScript與BrowserField結合使用時,它不會播放視頻。幫助 - Blackberrry BrowserField2,媒體播放器和線程

我懷疑問題是與事件線程同步或與線程相關。我使用可運行的程序推送包含媒體播放器的屏幕。屏幕顯示。但是當我點擊播放按鈕(它啓動一些線程來獲取視頻並播放它)時,沒有任何反應,我的應用程序凍結。我無法弄清確切的問題。如果有人能指出問題,將會感激。

謝謝。

一些相關的代碼清單如下:

public void extendJavaScript() throws Exception 
{   
    ScriptableFunction playVideo = new ScriptableFunction() 
    {    
     public Object invoke(Object thiz, Object[] args) throws Exception 
     { 
      openMediaPlayer(args[0].toString()); 
      return Boolean.FALSE; 
     } 
    }; 
    _bf2.extendScriptEngine("bb.playVideo", playVideo); 
} 

private void openMediaPlayer(final String url){ 
UiApplication.getUiApplication().invokeAndWait(new Runnable() { 

    public void run() { 
    PlayerScreen _playerScreen = new PlayerScreen(url + ";deviceside=true"); 
    UiApplication.getUiApplication().pushScreen(_playerScreen);  
    } 
}); 
} 

回答

0

沒關係。得到它解決。事實證明,我試圖從網頁上訪問的視頻格式不兼容,因此拋出了錯誤並凍結了媒體播放器。

+0

我相信你可以接受你自己的答案,這將會結束這個問題。 – Richard

+0

由於政策的原因,它沒有讓我這麼做。謝謝。 – indusBull