Ich möchte FloatingView
implementieren. Welche machen Aktivität Größe und ziehbare (wie folgendes Bild). Ich sehe auch diese thread und basierend darauf ich meine eigene service
erstellen. (Siehe auch this & this Bibliotheken)Implementieren Sie Floating View für Video-Streaming
Das Problem ist, je nach Implementierung kann ich nicht weiter Video und manchmal auch Bildschirm geht schwarz und nichts angezeigt. Ich möchte wissen, was ist der richtige Weg, damit umzugehen? Ohne Video unterbrochen und weiterspielen. (Ich weiß, Unterbrechung wegen setOnPrepareListener
aber wie das vermeiden?)
Hier ist mein Code:
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;
}
}
Edit: es ist nicht draggable panel weil in dieser App, wenn der Benutzer zu einem anderen gehen Aktivitätsvideo nicht unterbrochen und spielt immer noch.
Hallo, Entschuldigung für diese Dummy-Frage, aber wenn Sie sagen, dass Sie "Video nicht fortsetzen können", was es genau bedeutet? Kannst du das Video nicht "flüssig" anschauen? – jos
@jos Wie Sie in Gif Bild sehen nicht gestoppt (oder unterbrochen). Wenn die Größe der Aktivität geändert werden soll, muss ** setOnPreparedListener ** nicht aufgerufen werden. – Amir