it-swarm.com.de

Dieses Video kann nicht abgespielt werden. Android VideoView mp4, aufgenommen mit einem Android-Gerät

enter image description here

Ich habe nach vorhandenen möglichen Lösungen mit anderen formats gesucht und diese antworten immer noch mit dem erwähnten Fehler.

Schließlich das Video mit demselben Gerät aufgenommen und als Ressource für diese App verwendet, und es funktioniert immer noch nicht.

Geräte: SGS2, lenovo a820

Videotyp: MPEG-4 video (video/mp4)

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

sehe einfach meinen Code unten, es funktioniert ... Problem in der Pathe-Deklaration ..

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

Das ist es...

10

Ich habe alles schon einmal ausprobiert, aber es stellt sich heraus, dass eine Internet-Genehmigung zum Abspielen einer mp4-Datei erforderlich ist.

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

Für Lenovo a820 ist unten Bedarf:

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

stellen Sie sicher, dass Ihr Video in das Codec-Format passt.

0
KOTIOS

versuchen Sie den folgenden 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

Stellen Sie sicher, dass der Decoder (Ziel-SDK) das von Ihnen verwendete Videoformat unterstützt. Sie können den VLC-Player verwenden, um das Videoformat in das gewünschte Format zu konvertieren. In meinem Fall habe ich die MP4-Datei in eine WebM-Datei konvertiert und in das VideoView geladen.

So erhalten Sie den Dateipfad und geben Ihr Video wieder.

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

Quelle: Unterstützung für Videoformat und Codechttps://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