platformy: rozwija się w Eclipse przy użyciu Android SDK 16.Android VideoView nie gra orientacji pionowej
PROBLEM: Mam element VideoView który ma wypełnić cały ekran w 480x800 (portret ORIENTACJA) i gra dobrze, ale nie będzie orientować się na portret. Wstawia się w trybie poziomym, a współczynnik kształtu jest przekrzywiony, aby pasował do tego.
co mam PRÓBA:
- pomocą ANDROID screenOrientation = "portret" w oczywisty
- pomocą ANDROID orientacji = "pionowego", w pojemniku, a VideoView sam
- pomocą setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); tuż przed nazywam setContentView
- próbuje ustawić szerokość układu i wysokość 480dpx800dp zamiast fill_parent
- próbuje ustawić szerokość VideoView i wysokość do 480px x 800dp zamiast fill_parent
- przełączania wyłączenie automatycznego obracania wyświetlacza
XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="480dp"
android:layout_height="800dp"
android:background="#000000"
android:orientation="vertical" >
<VideoView
android:id="@+id/opening_video"
android:layout_width="480dp"
android:layout_alignParentRight="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_height="800dp"
android:orientation="vertical" />
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/transparent_button"
android:contentDescription="@string/back_button_desc"
android:background="@android:color/transparent" />
</RelativeLayout>
kodu:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.activity_start_screen);
VideoView videoView = (VideoView) findViewById(R.id.opening_video);
Uri pathToVideo = Uri.parse("android.resource://com.example.consumerengage/" + R.raw.opening_tablet);
videoView.setVideoURI(pathToVideo);
videoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setLooping(true);
}
});
videoView.requestFocus();
videoView.start();
// boolean isPlaying = videoView.isPlaying() ;
// videoView.stopPlayback();
// videoView.clearFocus();
addListenerOnButton();
}
na pytanie: Nic nie próbowałem odniosła sukces. Jak mogę odtwarzać wideo o wymiarach 480 x 800 w orientacji pionowej?
Po zmianie XML na powyższe ustawienia wideo nadal odtwarzane jest w poziomie, a nie w pionie. –
@RickS Błąd, który popełniasz, określa stałą wysokość i szerokość układu i obrazu wideo. Po prostu użyj domyślnego rodzica zapałek i po prostu napisz android: screenOrientation = "portrait" w działaniu pliku manifestu. –
Usunąć Android: screenOrientation z Twojej aktywności w pliku manifeast – AMD