带有SurfaceView的Mediaplayer.create返回null

问题描述

我想通过url在我的应用中播放视频。有什么办法可以做到这一点?我用SurfaceView创建了一个媒体播放器,但是Mediaplayer.create()返回null。

    MediaPlayer mediaPlayer;
    SurfaceHolder holder = binding.surfaceView.getHolder();

    holder.addCallback(new SurfaceHolder.Callback() {
        @Override
        public void surfaceCreated(SurfaceHolder holder) {
            mediaPlayer.setDisplay(holder);
            mediaPlayer.start();
        }

        @Override
        public void surfaceChanged(SurfaceHolder holder,int format,int width,int height) {
            
        }

        @Override
        public void surfaceDestroyed(SurfaceHolder holder) {

        }
    });

    mediaPlayer = MediaPlayer.create(requireContext(),Uri.parse("https://youtu.be/jsIGuRePyeA"));

我也尝试过将surfaceHolder作为mediaplayer中的第三个参数传递,但它也返回null。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...