Я 11-летний программист, и я получаю эту ошибку на своем телефоне, когда пытаюсь запустить код просмотра видео, чтобы я мог воспроизвести видео. Ошибка: «К сожалению, это видео не может быть воспроизведено». Мое видео, которое я скачала, находилось в необработанной папке под ресурсами, а код и xml в порядке. Я использую видеоформат mp4. Вот мой код:
package com.example.lenovouser.video;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
VideoView videoView = findViewById(R.id.video_view);
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.green_and_yellow_popsicle);
videoView.setVideoURI(uri);
videoView.setMediaController(new MediaController(this));
videoView.start();
}
}
А вот мой xml-код:
<?xml version = "1.0" encoding = "utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
tools:context = "com.example.lenovouser.video.MainActivity">
<FrameLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintLeft_toLeftOf = "parent"
app:layout_constraintRight_toRightOf = "parent"
app:layout_constraintTop_toTopOf = "parent">
<VideoView
android:id = "@+id/video_view"
android:layout_width = "match_parent"
android:layout_height = "wrap_content" />
</FrameLayout>
</android.support.constraint.ConstraintLayout>
Спасибо за ваше время!




попробуйте использовать это вместо этого, он использует необработанный URI вместо R.raw проверьте этот пост, если у вас все еще возникают проблемы Как воспроизвести видео из необработанной папки на устройстве Android?
String videoPath = "android.resource://" + getPackageName() + "/raw/green_and_yellow_popsicle";
videoView.start();
как бы то ни было, если вы все еще хотите использовать R.raw, используйте приведенный ниже код,
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.green_and_yellow_popsicle);
videoView.setVideoURI(uri);
videoView.setMediaController(new MediaController(this));
videoView.start();
Я пробовал это, но это не сработало, я все еще сказал ту же ошибку
Это не в журнале, а в телефоне .. вот ошибка, которая показывает:
Есть stacktrace, посмотрите в logcat, должна быть причина, почему он не воспроизводится
журнал в порядке
что такое трассировка стека?
Вы используете студию Android?
Да, я использую студию Android
Я не вижу расширения видеофайла. Я не уверен, что вы можете воспроизводить любое видео из необработанного, вместо этого можете создать папку с ресурсами и поместить туда видеофайл.
videoView.setVideoPath("file:///assets/myvideo.mp4");
videoView.start();
Также убедитесь, что вы используете видеоформат, указанный в документации поддержки Android: https://developer.android.com/guide/topics/media/media-formats#recommendations
OP использует папку Raw, откуда вы взяли? R.raw не показывает расширение afaik
Привет, видео находится в папке raw, а не в папке с возможностью рисования
Я не использую папку с возможностью переноса для видео
Ни одно из этих решений у меня не сработало, но здесь вы можете узнать, как получить URI из папки R.raw: https://stackoverflow.com/a/8616187/8187578
Я поднял свой вопрос.