В моем приложении BrowserField2 добавлен в MainScreen и медиаплеер на основе потокового мультимедиа - от начала до конца.Я пытаюсь открыть медиа-плеер из браузера, используя расширенный JavaScript.Мой план состоит в том, что когда пользователь нажимает на некоторые ссылки на веб-странице, я вызываю расширенную функцию javascript с некоторыми параметрами, такими как URL-адрес видео для потоковой передачи.Эта функция, в свою очередь, выдвигает экран медиаплеера с переданным URL.Медиаплеер работает очень хорошо и потоковое видео при использовании в одиночку.Но он не воспроизводит видео в сочетании с BrowserField с использованием расширенного JavaScript.
Я подозреваю, что проблема связана с потоком событий или связана с потоками.Я нажимаю на экран, содержащий медиаплеер, используя runnable.Экран отображается.Но когда я нажимаю кнопку воспроизведения (которая запускает некоторые потоки для извлечения видео и его воспроизведения), ничего не происходит, и мое приложение зависает.Я не могу понять точную проблему.Буду признателен, если кто-то может определить проблему.
Спасибо.
Некоторые соответствующие списки кодов, как показано ниже:
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);
}
});
}