Ich verwende Exoplayer, um Videos aus dem Internet zu laden.Exoplayer - Video-Stretching vermeiden
Wenn die Videos geladen sind und im Container angezeigt werden, wird das Video automatisch gedehnt, während das Flag MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT
im Videorenderer festgelegt wird.
this._videoRenderer = new MediaCodecVideoTrackRenderer(this._context, source, MediaCodecSelector.DEFAULT, MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT);
Layout:
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/selfie_slider_slide_thumbnail"
android:layout_gravity="center|center_vertical"
android:visibility="gone" />
<SurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/selfie_slider_slide_video"
android:layout_gravity="center|center_vertical" />
</LinearLayout>
Das Bild korrekt angezeigt wird, aber nicht das Video. Hier sind zwei Beispiele richtig das Problem veranschaulichen:
Dies ist das Video, wenn es geladen wird. Sie können sehen, dass es gestreckt wird (nicht die Aufmerksamkeit auf die schwarzen Linien zahlen, ist dies ein schlechtes Abschneiden)
Ich glaube, ich könnte den Behälter nach der Größe der Miniaturansicht werden Ändern der Größe, aber das würde Das bedeutet, dass ich den Container jedes Mal ändern muss, wenn sich das Video ändert, also versuche ich, einen besseren Weg zu finden. Wenn jemand eine Vermutung hat, nehme ich es!