Lecture vidéo en plein écran

J'essaie de jouer une vidéo dans mon application. Il doit être intégré.

J'ai parcouru le fil "Play Video Files in Android" .

  • Pourquoi Jenkins Android Emulator Plugin recrée mes instantanés Emulator dans chaque version?
  • Causé par: java.lang.IllegalStateException: ParsePlugins est déjà initialisé
  • Changer la couleur du fond de l'élément de la liste activée sur Honeycomb
  • Comment garder les espaces à la fin et / ou au début d'une chaîne?
  • Android ICS: Supprimez le diviseur bleu dans ActionBar?
  • Android WebView Lecture de la vidéo HTML5 / h.264 / mp4, Comment accéder au MediaPlayer
  • Je peux lire ma vidéo en utilisant VideoView comme mentionné dans cette discussion. Mais il y a quelques problèmes.

    1. J'ai besoin d'une vidéo en plein écran, comment puis-je étirer VideoView en plein écran? Est-ce que cela étendra la vidéo aussi?

    2. Je n'ai pas besoin des boutons de lecture / avant / arrêt par défaut. Fondamentalement, j'ai besoin d'une lecture en boucle continue de la vidéo.

    J'ai essayé la classe MediaPlayer comme ici , mais cela n'a jamais fonctionné. À quoi ressemble le format de chaîne si j'ai mon fichier vidéo en rés / raw directory? Je ne veux vraiment pas que le fichier vidéo joue depuis la carte SD. Comment peut-il être regroupé avec l'application?

    Si l'une de ces deux approches fonctionne, je serai mieux.

    C'est mon code:

    videoHolder = new VideoView(this); // videoHolder = (VideoView)findViewById(R.id.videoview); LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); videoHolder.setLayoutParams(params); videoHolder.setMediaController(new MediaController(this)); setContentView(videoHolder); // // //// I tested and found that it works fine for .wmv, .3gp and .mp4 //// videoHolder.setVideoURI(Uri.parse("file:///sdcard/video.3gp")); videoHolder.setVideoURI(Uri.parse("res/raw/demo.3gp")); videoHolder.requestFocus(); videoHolder.start(); 

    Curieusement, l'URL commentée fonctionne (celle avec la carte sd). L'autre ne fonctionne pas. J'ai essayé de nombreuses combinaisons de "fichier: // res / raw / demo.3gp" à seulement "démo".

    Quelle serait la chaîne correcte pour accéder au fichier?

  • Emulator Android: Comment puis-je obtenir une liste de services qui fonctionnent
  • Puis-je faire défiler une ScrollView par programme dans Android?
  • Avis de révision de Play Store Android
  • Comment compiler une bibliothèque fourmillée à Gradle?
  • Comment détecter quand un périphérique BLE n'est plus en gamme?
  • Comment utiliser la dernière version de gradle dans Android Studio
  • 6 Solutions collect form web for “Lecture vidéo en plein écran”

    Pas besoin de coder pour lire la vidéo en mode plein écran

    Appliquez le format de mise en page suivant sur le xml contenant la vision vidéo qu'il sera sûr de jouer la vidéo en mode plein écran. Car il court le mien. 🙂 J'espère que cela aide

      <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <VideoView android:id="@+id/myvideoview" android:layout_width="fill_parent" android:layout_alignParentRight="true" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_alignParentBottom="true" android:layout_height="fill_parent"> </VideoView> </RelativeLayout> 

    De plus, ajouter le mediacontroller vous donnera également le contrôleur à utiliser.

    J'ai résolu le problème:

    1. Pour supprimer les boutons de pause / pause, retirez le contrôleur multimédia. Pour le problème en boucle, met OnCompletionListener sorte que lorsque la vidéo arrive à la fin, elle recommence:

     videoView.setOnCompletionListener( new MediaPlayer.OnCompletionListener() { public void onCompletion(MediaPlayer mp) { videoView.start(); } }); 

    2. Pour redimensionner la vidéo, onMeasure() méthode onMeasure() dans VideoView comme ceci:

     public class MyVideoView extends VideoView { public MyVideoView(Context context) { super(context); } @Override protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension(480,800); } } 

    Je sais que ce fil a quelques semaines, mais il n'est pas nécessaire de copier le fichier vidéo sur la carte SD uniquement pour le jouer. Utilisez les éléments suivants mais insérez le nom de votre paquet au lieu de "com.yourcompany.yourproject":

    videoView.setVideoURI(Uri.parse("android.resource://com.yourcompay.yourproject/" + R.raw.yourvideoresource));

    Si vous souhaitez lire la vidéo en plein écran, ajoutez simplement cette ligne de code dans votre fichier Androidmanifest.xml, dans l'activité où cette vidéo va jouer. Ajoutez simplement ces deux lignes dans le fichier de manifeste Android.

      android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:configChanges="orientation|screenSize" 

    Comme dans mon fichier androidmanifest.xml, je l'ai ajouté

      <activity android:name="com.appliconic.straminglivevideo.MainActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:configChanges="orientation|screenSize" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

    Modifié la réponse de @Javanator un peu, cela n'élargira pas la vidéo:

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <VideoView android:id="@+id/myvideoview" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerVertical="true" android:layout_centerHorizontal="true"> </VideoView> </RelativeLayout> 

    J'espère que ça aide quelqu'un 🙂

    Pour lire une vidéo brute, vous devez la copier dans la carte SdD comme ceci:

      File f=new File(Environment.getExternalStorageDirectory(), FICHIER_BLOW); try { if (f.exists()){ MyVideoView videoHolder = new MyVideoView(this); LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); videoHolder.setLayoutParams(params); setContentView(videoHolder); video =Uri.fromFile(f); videoHolder.setVideoURI(video); videoHolder.start(); } else if (f.createNewFile()){ BufferedOutputStream bufEcrivain = new BufferedOutputStream((new FileOutputStream(f))); BufferedInputStream VideoReader = new BufferedInputStream(getResources().openRawResource(R.raw.blow)); byte[] buff = new byte[32 * 1024]; int len; while( (len = VideoReader.read(buff)) > 0 ){ bufEcrivain.write(buff,0,len); } bufEcrivain.flush(); bufEcrivain.close(); MyVideoView videoHolder = new MyVideoView(this); LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); videoHolder.setLayoutParams(params); setContentView(videoHolder); video =Uri.fromFile(f); videoHolder.setVideoURI(video); videoHolder.start(); } else{ } } catch (IOException e) { e.printStackTrace(); } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.