Android 关于播放本地视频(急急急急~~~~)

关于Android 视频播放的开发,我试过很多方法,包括书上的两种方法,都是以路径不对而失败,我也不知道路径怎么去设置(因为是在模拟器的SD里),唯一成功的方法就是把视频放到assets,再复制进data文件夹里去通过URi实现播放,但是这样项目很因为视频而变得很大,所以求大神po自己的实现方法供我学习,有完整的Demo就更棒了(原谅我这种伸手党,实在无力了,我一毛C币都没有,只有谢谢各位!)

4个回答

你确认是路径不对? 还是没有设置读写权限?

luoyuhoho
luoyuhoho 我看了下 让我在CMD输入命令查找,没用
大约 4 年之前 回复
xueshanhaizi
freeCodeSunny 回复luoyuhoho: 这个半个小时就能学会!
大约 4 年之前 回复
luoyuhoho
luoyuhoho 我不会进入adb shell~~我是初级
大约 4 年之前 回复
xueshanhaizi
freeCodeSunny 回复luoyuhoho: mnt/shell/emulated/0/Download/other/IWish.mp4 你这个路径不对! 你adb shell 进入看看你本地的路径是什么? 每个手机路径不太一样的
大约 4 年之前 回复
luoyuhoho
luoyuhoho 回复freeCodeSunny: 代码贴出来了 你看下吧 这是书上的写法
大约 4 年之前 回复
xueshanhaizi
freeCodeSunny 回复luoyuhoho: 代码贴出来吧
大约 4 年之前 回复
luoyuhoho
luoyuhoho 报错没有显示权限设置有问题!用VideoView就是黑的!
大约 4 年之前 回复

public class VideoShow extends Activity {
VideoView video;
MediaController controller;

// 路径
String path = "mnt/shell/emulated/0/Download/other/IWish.mp4";

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    getWindow().setFormat(PixelFormat.TRANSLUCENT);
    setContentView(R.layout.video_show);
    video = (VideoView) findViewById(R.id.video_shows);
    controller = new MediaController(this);
    //
    File file = new File(path);
    if (file.exists()) {
        video.setVideoPath(file.getAbsolutePath());
        video.setMediaController(controller);
        controller.setMediaPlayer(video);
        video.requestFocus();
    }
}

}

实现简单,循环播放
mVideoView.setMediaController(mc);
mVideoView.setVideoURI(Uri.parse("/mnt/sdcard/text.mp4"));

    mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

        @Override
        public void onCompletion(MediaPlayer mp) {
            mVideoView.setVideoURI(Uri.parse("/mnt/sdcard/text.mp4"));
            mVideoView.start();

        }
    });
luoyuhoho
luoyuhoho 回复菜鸟小弟:你能把SD卡的权限PO出来吗,我看我加对了没,谢谢
大约 4 年之前 回复
sinat_28645171
尼古拉斯_仝 回复luoyuhoho: 没有读取SD卡的权限是播放不了的
大约 4 年之前 回复
sinat_28645171
尼古拉斯_仝 回复luoyuhoho: 你在清单文件里吧权限加了没?
大约 4 年之前 回复
luoyuhoho
luoyuhoho 我的路径是按照模拟器文件管理器一层一层写上去的,这样写的话,可能还是找不到路径
大约 4 年之前 回复
luoyuhoho
luoyuhoho 如果我用"/mnt" 这种格式的路径会代码会报黄线,让我不要硬编码
大约 4 年之前 回复

可以用自己写MediaPlayer通过 surface和surfaceholder来实现视频播放,也可以集成Vitamio,这个是开发完善的第三方

insist_hui
林尚辉 回复luoyuhoho: http://blog.csdn.net/insist_hui/article/details/51918947
大约 4 年之前 回复
insist_hui
林尚辉 回复luoyuhoho: 可以查看我的博客,我自己写了一篇本地视频播放,vitamio版本还没发表
大约 4 年之前 回复
luoyuhoho
luoyuhoho 这个方法我也试过了,播放不了,黑屏的,谢谢
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问