• 播放本地视屏文件提示该视屏无法播放


    今天做了一个功能,就是播放项目工程里面的视频文件,不是播放SD卡视频文件。

    我开始尝试把视频文件放到 assets文件目录下。

    因为之前写webview加载assets文件夹时,是这样写的:

    webView = new WebView(this);
    

     

    webView.loadUrl(file:///android_asset/sample3_8.html);
    

     

     

    依次类推,我尝试将视频video.3gp 放到assets目录下,然后写了下面的代码:

    Intent it = new Intent(Intent.ACTION_VIEW);
    

     

    Uri uri = Uri.parse(name);
    

     

    it.setDataAndType(uri ,"video/3gp);
    

     

    startActivity(it);
    

     

    启动了android系统播放器,提示了一些信息(没有记录下来),大概意思就是无法播放这个路径下面的文件/无法找到这个路径文件。

    google了一下,中文网页上几乎没有解决办法的说明,按照惯例,去 http://stackoverflow.com 搜索答案,找到了这个帖子:

    I want to play a video from my assets or raw folder in my app in ANDROID

    播放Android项目工程里的视频文件最终解决办法是:

    1. 把视频文件放到项目工程的 res/raw 文件下。

    2. 视频文件必须是Android支持视频格式(3gp,wmv,mp4),并且命名必须是小写字母,数据,下划线,例如:my_video_file.mp4

    3. 当你是在代码里面引用这个资源文件时,你必须使用R statics类,同时去掉文件的后缀:R.raw.my_video_file

    4. 这个Activity class 应该有一个 helper 方法 getPackageName(),这样便于你在你的代码里面构造正确的URI。

    VideoView vv = (VideoView)this.findViewById(R.id.videoView)
    

     

    String uri = "android.resource://" + getPackageName() + "/" + R.raw.my_video_file;
    

     

    vv.setVideoURI(Uri.parse(uri));
    

     

    vv.start();
    
  • 相关阅读:
    Java main方法继承
    MySQL 事务
    数据库日志文件和内存刷新机制
    MySQL 存储过程
    MySQL 索引
    JVM锁优化
    JVM字节码执行引擎和动态绑定原理
    虚拟机类加载机制
    JVM内存分配与回收
    JVM垃圾收集器
  • 原文地址:https://www.cnblogs.com/blogzhangwei/p/4087658.html
Copyright © 2020-2023  润新知