Comment lire la vidéo depuis un dossier brut avec un appareil Android?

Aidez-vous, comment lire des vidéos dans un périphérique Android depuis un dossier brut pour un mode hors connexion?

Exemples réussis1: je peux lire la vidéo de SDcard en utilisant le code ci-dessous.

  • Animation Android - Flip
  • Comment utiliser l'outil Monitor (DDMS) pour déboguer l'application
  • Support FragmentPagerAdapter contient des références à d'anciens fragments
  • Quelle est la différence entre Activity.runOnUiThread (action exécutable) et Handler.post ()?
  • Android PackageStats donne des valeurs négatives
  • Impossible de trouver des cibles Android dans ce SDK dans IntelliJ 2016
  • Intent intent = new Intent(Intent.ACTION_VIEW); String type = "video/mp4"; Uri uri = Uri.parse("file:///sdcard/test.mp4"); intent.setDataAndType(uri, type); startActivity(intent); 

    Échec de l'exemple2: Question: Puis-je mettre le test.mp4 dans res / raw folder?

      Intent intent = new Intent(Intent.ACTION_VIEW); String type = "video/mp4"; Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.taipei); intent.setDataAndType(uri, type); startActivity(intent); 

    Est-ce que quelqu'un peut m'aider? S'il vous plaît.

  • Comment épingler deux boutons sous la barre d'outils en faisant défiler
  • Android - Comment activer Bluetooth pour toujours être activé?
  • Erreur: le programme "/ndk-build.cmd" n'est pas trouvé dans PATH
  • Effectuez un changement de changement de bouton Android en cliquant sur XML
  • Emulateur x86 Android extrêmement lent
  • Comment générer des javadocs style Android?
  • 6 Solutions collect form web for “Comment lire la vidéo depuis un dossier brut avec un appareil Android?”

    Copiez la vidéo dans le dossier res / raw de votre projet. Créez un dossier brut sous le dossier Res. Il doit être dans un format pris en charge (3gp, wmv, mp4) et nommé avec minuscules, numériques, underscores et points dans son nom de fichier de même: video_file.mp4.

     VideoView view = (VideoView)findViewById(R.id.videoView); String path = "android.resource://" + getPackageName() + "/" + R.raw.video_file; view.setVideoURI(Uri.parse(path)); view.start(); 

    Créez une vidéo dans votre fichier xml.

    Vérifiez cette solution Comment lire des vidéos dans Android ou dossier brut?

     VideoView videoHolder = new VideoView(this); //if you want the controls to appear videoHolder.setMediaController(new MediaController(this)); Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.your_raw_file); //do not add any extension //if your file is named sherif.mp4 and placed in /raw //use R.raw.sherif 
     // To get files from any resource folder (eg: raw, drawable, etc.) // Use the resource id int rawId = getResources().getIdentifier(file_name_without_extension, "raw", getPackageName()); // URI formation String path = "android.resource://" + getPackageName() + "/" + rawId; // Set the URI to play video file videoView.setVideoURI(Uri.parse(path)); 

    Je pense que tout le monde a donné une réponse, mais n'explique pas le scénario. Le problème principal est que, si je ne me trompe pas, Android suppose que la vidéo provenant de votre carte SD est dynamique, où il pourrait être possible que le format ne soit pas pris en charge ou pris en charge, ce qui vous permet de sélectionner ou d'ouvrir Pour d'autres logiciels de médias tiers.

    Tout ce que vous jouez sous UNDER RAW, nécessite un gestionnaire tel que la vision vidéo ou le lecteur multimédia intégré, ce qui conduit à la conclusion que tout ce que vous mettez dans votre dossier RAW devrait être pris en charge par le système d'exploitation Android.

    Cependant, le démarreur de fil ici veut que ses fichiers RAW soient joués à l'aide d'un lecteur multimédia tiers.

    J'ai lutté pour cela pour les noms de vidéos dynamiques. La solution qui a fonctionné pour moi était:

     //Somewhere set the video name variable String video+name="myvideo"; //setup up and play video VideoView videoView=(VideoView)findViewById(R.id.video); videoView.setVisibility(View.VISIBLE); String uriPath = "android.resource://"+getPackageName()+"/raw/"+ video_name; Uri UrlPath=Uri.parse(uriPath); MediaController mediaController = new MediaController(this); mediaController.setAnchorView(videoView); videoView.setMediaController(mediaController); videoView.setVideoURI(UrlPath); videoView.setOnPreparedListener(new OnPreparedListener() { public void onPrepared(MediaPlayer mediaPlayer) { if (position == 0) { try{ videoView.requestFocus(); videoView.start(); }catch (Exception e){ System.out.printf("Error playing video %s\n", e); } }else{ videoView.pause(); } } }); 

    Et en XML

     <VideoView android:layout_width="300dp" android:id="@+id/video" android:layout_height="300dp" android:orientation="horizontal" android:layout_gravity="center" android:keepScreenOn="true" /> 

    Cette solution vous aidera exactement à savoir ce que vous voulez.

     VideoView myVideo; private MediaController media_control; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myVideo = (VideoView) findViewById(R.id.playVideo); Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.bootanimation_nexus); media_control = new MediaController(this); myVideo.setMediaController(media_control); myVideo.setVideoURI(uri); myVideo.start(); } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.