【发布时间】:2016-07-27 14:33:07
【问题描述】:
我想实现FloatingView。这使得 Activity 调整大小和可拖动(如下图所示)。我也看到了这个thread,并在此基础上创建了我自己的service。 (另见this & this 库)
问题是根据实施我无法继续视频,有时屏幕会变黑并且没有显示任何内容。我想知道处理这个问题的正确方法是什么?没有视频中断并继续播放。 (我知道因为setOnPrepareListener 而中断,但如何避免呢?)
这是我的代码:
public class FloatingStream extends Service implements FloatingViewListener {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (mFloatingViewManager != null) {
return START_STICKY;
}
final DisplayMetrics metrics = new DisplayMetrics();
final WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
windowManager.getDefaultDisplay().getMetrics(metrics);
floatingServiceBinder = new FloatingServiceBinder(this);
final View rootView = LayoutInflater.from(this).inflate(R.layout.view_exoplayer, null, false);
final VideoView videoView = (VideoView) rootView.findViewById(R.id.video_view);
videoView.setVideoURI(Uri.parse(MY_URL));
videoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared() {
videoView.start();
}
});
mFloatingViewManager = new FloatingViewManager(this, this);
mFloatingViewManager.setFixedTrashIconImage(R.drawable.ic_play_circle_filled);
mFloatingViewManager.setActionTrashIconImage(R.drawable.ic_menu);
final FloatingViewManager.Options options = new FloatingViewManager.Options();
mFloatingViewManager.addViewToWindow(rootView, options);
return START_REDELIVER_INTENT;
}
}
编辑:不是draggable panel,因为在这个应用程序中,如果用户转到另一个活动视频没有被中断并且仍在播放。
【问题讨论】:
-
您好,很抱歉这个愚蠢的问题,但是当您说“无法继续播放视频”时,究竟是什么意思?是不是不能“流畅”看视频?
-
@jos 正如您在 Gif 图像视频中看到的那样,视频没有停止(或中断)。当调整活动大小时不需要调用 setOnPreparedListener.
标签: android video-streaming android-videoview