Я пытаюсь воспроизвести пример видео с помощью Brightcove Player. documentation предполагает, что для реализации базовых обратных вызовов жизненного цикла для игрока следует расширить BrightcovePlayer вместо простой активности. Вот как я распространив его:Каков правильный способ расширения BrightcovePlayer в Android?
public class BrightCoveActivity extends BrightcovePlayer {
private static final String BC_TOKEN = "<using a valid token here>";
private String mVideoId;
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_bright_cove);
final BrightcoveVideoView brightcoveVideoView = (BrightcoveVideoView) findViewById(R.id.brightcove_video_view);
super.onCreate(savedInstanceState);
final Catalog catalog = new Catalog(BC_TOKEN);
mVideoId = "<using a valid video ID here";
MediaController controller = new MediaController(this);
brightcoveVideoView.setMediaController(controller);
catalog.findVideoByID(mVideoId, new VideoListener() {
@Override
public void onError(String error) {
throw new RuntimeException(error);
}
@Override
public void onVideo(Video video) {
brightcoveVideoView.add(video);
brightcoveVideoView.start();
}
});
}
}
Однако я получаю эту IllegalStateException
, когда я пытаюсь запустить приложение:
09-09 17:01:51.988: E/AndroidRuntime(21607): Caused by: java.lang.IllegalStateException: brightcoveVideoView needs to be wired up to the layout.
09-09 17:01:51.988: E/AndroidRuntime(21607): at com.brightcove.player.view.BrightcovePlayer.onCreate(BrightcovePlayer.java:180)
Этот трассировки стека в конечном счете указывает на метод super.OnCreate()
. Не имеет значения, вызываю ли метод суперкласса до или после того, как я «подключу» BrightcoveVideoView.
Я использую:
- A пользовательский макет с BrightCoveVideoView в данный момент без каких-либо других мнений, кроме VideoView внутри Relative Layout.
- Eclipse для разработки (с ограничениями для этого, не может использовать Android Studio). Я включил старый файл .jar в качестве библиотеки (проект работает нормально, если я делаю это в простой деятельности, а не в работе BrightcovePlayer).
- Brightcove SDK 4.5 для Android.