web-dev-qa-db-fra.com

Impossible de lire cette vidéo. Android videoView mp4 enregistré par un appareil Android

enter image description here

J'ai recherché des solutions potentielles existantes avec d'autres formats et celles-ci répondent toujours avec l'erreur mentionnée.

Enfin, vous avez enregistré la vidéo avec le même appareil et vous l'avez utilisée comme ressource pour cette application. Elle ne fonctionne toujours pas.

Appareils: SGS2, lenovo a820

Type de vidéo: MPEG-4 video (video/mp4)

    videoView = (VideoView)findViewById(R.id.videoView);
    videoView.setVideoPath("Android.resource://raw/sample.mp4");
    videoView.start();
13
Jacob

il suffit de voir mon code ci-dessous cela fonctionne ... problème dans la déclaration pathe ..

 String uriPath = "Android.resource://"+getPackageName()+"/"+R.raw.aha_hands_only_cpr_english;
        Uri uri = Uri.parse(uriPath);
        mVideoView.setVideoURI(uri);

C'est tout...

10
Jayesh Khasatiya

J'ai essayé tout ce qui a été mentionné auparavant, mais il s'avère qu'une autorisation Internet est nécessaire pour lire un fichier MP4.

<uses-permission Android:name="Android.permission.INTERNET" />
5
Vol-i

Pour Lenovo A820, voici le besoin:

- MP4/WMV/H.264/H.263 player
- MP3/WAV/WMA/eAAC+ player

assurez-vous que votre vidéo est compatible avec le format de codec ci-dessus.

0
KOTIOS

essayez de suivre le code ..

videoView = (VideoView)this.findViewById(R.id.videoView);
String path = "Android.resource://" + getPackageName() + "/" + R.raw.video_file;
MediaController mc = new MediaController(this);
videoView.setMediaController(mc);
videoView.start();
0
user2041884

Assurez-vous que le décodeur (sdk cible) prend en charge le format vidéo que vous utilisez. Vous pouvez utiliser le lecteur VLC pour convertir le format vidéo au format souhaité. Dans mon cas, j'ai converti le fichier MP4 en fichier WebM et je l'ai chargé dans VideoView.

Voici comment vous obtenez le chemin du fichier et lisez votre vidéo.

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

Source: Prise en charge du format vidéo et des codecshttps://developer.Android.com/guide/topics/media/media-formats.html

0
noahutz
public class videoplayer extends Activity {
    private static final String Videos_URL = "*your URI*";

    private VideoView myVideoView;
    private int position = 0;
    private ProgressDialog progressDialog;
    private MediaController mediaControls;

    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Get the layout from video_main.xml
        setContentView(R.layout.activity_main);

        if (mediaControls == null) {
            mediaControls = new MediaController(this);
        }

        // Find your VideoView in your video_main.xml layout
        myVideoView = (VideoView) findViewById(R.id.videoView);

        // Create a progressbar
        progressDialog = new ProgressDialog(this);
        // Set progressbar title
        progressDialog.setTitle("ABCDEFGH");
        // Set progressbar message
        progressDialog.setMessage("Loading...");

        progressDialog.setCancelable(false);
        // Show progressbar
        progressDialog.show();

        try {
            Uri video = Uri.parse(Videos_URL);
            myVideoView.setVideoURI(video);
            myVideoView.setMediaController(mediaControls);
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }

        myVideoView.requestFocus();
        myVideoView.setOnPreparedListener(new OnPreparedListener() {
            // Close the progress bar and play the video
            public void onPrepared(MediaPlayer mp) {
                progressDialog.dismiss();
                myVideoView.seekTo(position);
                if (position == 0) {
                    myVideoView.start();
                } else {
                    myVideoView.pause();
                }
            }
        });

    }

    @Override
    public void onSaveInstanceState(Bundle savedInstanceState) {
        super.onSaveInstanceState(savedInstanceState);
        savedInstanceState.putInt("Position", myVideoView.getCurrentPosition());
        myVideoView.pause();
    }

    @Override
    public void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        position = savedInstanceState.getInt("Position");
        myVideoView.seekTo(position);
    }
}
0
Arjun Singh