视频无法在 android 中播放
Posted
技术标签:
【中文标题】视频无法在 android 中播放【英文标题】:Video is not playing in android 【发布时间】:2020-04-11 16:08:55 【问题描述】:我正在尝试在我的登录屏幕上播放视频。我已经导入了 mp4 视频文件。但是当我运行这段代码时,视频并没有出现在屏幕上。事实上,视频文件显示为 ??符号。播放视频是否需要添加其他内容?
<VideoView
android:id="@+id/videoView1"
android:layout_
android:layout_
/>
Java 部分
public VideoView videoView;
public MediaPlayer mediaPlayer;
@OnClick(R.id.email_sign_in_button)
void delegateLogin()
progressBar.setVisibility(View.VISIBLE);
loginPresenter.doLogin(usernameInput.getText().toString(), passwordInput.getText().toString());
@OnClick(R.id.register_now_button)
void registerNow()
loginPresenter.doOpenRegisterScreen(this);
@OnClick(R.id.forgot_password_button)
void forgotPassword()
loginPresenter.doOpenForgotPasswordScreen(this);
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
ButterKnife.bind(this);
videoView=(VideoView)findViewById(R.id.videoView1);
Uri uri= Uri.parse("android.resource://"
+getPackageName()
+"/"
+R.raw.mt_launch_screen);
videoView.setVideoURI(uri);
// videoView.requestFocus();
videoView.start();
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
@Override
public void onPrepared(MediaPlayer mediaPlayer)
mediaPlayer.setLooping(true);
// mediaPlayer.start();
);
【问题讨论】:
【参考方案1】:尝试设置媒体控制器
String video_url = "android.resource://" + context.getPackageName() +
"/" + R.raw.mt_launch_screen;
final VideoView videoView = findViewById(R.id.dialog_video);
Uri videoUri = Uri.parse(video_url);
MediaController mediaController= new MediaController(context);
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
videoView.setVideoURI(videoUri);
videoView.requestFocus();
videoView.start();
【讨论】:
都试过了都不行..我需要添加任何库或权限吗? MediaPlayerNative: error (1, -2147483648) 一种黑色布局正在制作,但没有视频【参考方案2】:尝试移动videoView.start()
videoView.setVideoURI(uri);
// videoView.requestFocus();
// videoView.start(); /* don't start it if you setOnPrepared? */
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
@Override
public void onPrepared(MediaPlayer mediaPlayer)
videoView.start(); //Start here
mediaPlayer.setLooping(true);
// mediaPlayer.start();
);
【讨论】:
【参考方案3】:查看来自 Android 的文档:https://developer.android.com/guide/topics/media/mediaplayer#java
您需要使用onCreate
中的MediaPlayer
做某事
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.mt_launch_screen);
mediaPlayer = MediaPlayer.create(context, uri);
mediaPlayer.start(); // no need to call prepare(); create() does that for you
【讨论】:
都试过了都不行..我需要添加任何库或权限吗? 看看这个tutorial 它准确地解释了你想要做什么以上是关于视频无法在 android 中播放的主要内容,如果未能解决你的问题,请参考以下文章
嵌入的 youtube 视频无法在某些 Android 设备中播放