我已经集成了 Brightcove android-sdk-4.2.7 并尝试使用videoID播放视频。
以下是代码段:
Catalog catalog = new Catalog(<**MEDIA_READ_TOKEN**>);
catalog.findVideoByID(videoId, new VideoListener() {
@Override
public void onError(String error) {
Log.e(TAG, "onError : " + error);
}
@Override
public void onVideo(Video video) {
Log.i(TAG, "onVideo called" );
brightcoveVideoView.add(video);
brightcoveVideoView.start();
}
});
当我第一次从其他活动中启动video_player_activity视频播放完全正常时,但当我回到第二个活动并再次尝试播放相同/其他视频时,它不会播放。 onVideo 不会被调用。有时它会在很长一段时间后被调用。
以下是一些更多细节:
可能出现的问题是什么?任何帮助/指针都将非常感激。
谢谢!
答案 0 :(得分:1)
对findVideoByID()的重复调用应该可以正常工作。对于每一个,您应该在logcat中看到一个请求,例如:
D / HttpService(27297):发出GET请求:http://api.brightcove.com/services/library?command=find_video_by_id&video_id=3603631382001 ...
和回复,如:
D / HttpService(27297):回复:{&#34; id&#34;:36036 ......
如果不是这样,请向Brightcove支持部门提交错误。如果这样做,那么这里没有足够的信息来进一步调试。您可以尝试将您正在做的事情与Github上提供的公共示例应用程序进行比较:
https://github.com/BrightcoveOS/android-player-samples
这些应用程序不像您的方案那样有多个活动,但它们确实处理了应用程序进入后台然后被带回到前台。扩展BrightcovePlayer或BrightcovePlayerFragment可启用生命周期处理。如果您不扩展其中一个类,则必须编写自己的生命周期处理,就像使用Android VideoView一样。例如,在onPause()中调用pause()并在onStop()中调用stopPlayback()。