开发者社区> 问答> 正文

android MediaPlayer 播放本地视频,对文件路径层级有要求吗??报错

比方说,在sd卡根目录下zijin/single/1.mp4 ,然后播放这个视频,一切正常
但是,如果在sd卡根目录下zijin/test/single/1.mp4,进行播放视频,发现经常报错,进入onError回调方法中,错误代码是100.

比较发现,
其唯一差别,就是视频路径多了一层而已,为什么会这样呢?
难道视频路径的文件夹层数越多,越容易报错?这感觉无法理解啊?

视频播放的代码:

public void playVideo(String imgPath,
                          final GuildFragment.MyVideoCompletionListener 
                                  myVideoCompletionListener) {
        if (imgPath == null||"".equals(imgPath)) {
            throw new IllegalArgumentException("Uri can not be null");
        }
        /**设置播放路径**/
        setVideoPath(imgPath);
        /**开始播放**/
        setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                mp.start();

            }
        });
        setOnErrorListener(new MediaPlayer.OnErrorListener() {
            @Override
            public boolean onError(MediaPlayer mp, int what, int extra) {

                myVideoCompletionListener.myVideoCompletion("");
                mp.release();
                mp=null;
                return true;
            }
        });

        setOnCompletionListener(new MediaPlayer.OnCompletionListener(){
            @Override
            public void onCompletion(MediaPlayer mp) {
                myVideoCompletionListener.myVideoCompletion("");
                mp.release();
                mp=null;
            }
        });
    }

展开
收起
爱吃鱼的程序员 2020-06-08 12:42:36 906 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    应该找到原因了,因为我的视频文件的路径用了特殊符号“横杆”,我现在把横杆改为下划线后,好像就一切正常了。

    2020-06-08 12:42:50
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载