【问题标题】:thumbnail returns null on android above version 4.0缩略图在 4.0 以上版本的 android 上返回 null
【发布时间】:2015-01-25 16:16:48
【问题描述】:

我也一样this 问题

public class MainActivity extends Activity 
{


    ImageView imgVie;

    Bitmap bmp,extBmp;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        imgVie = (ImageView)findViewById(R.id.imageView1);          
        String path =   "http://202.65.154.108:8080/VODStream/lokesh.stream.mp4";
        bmp = ThumbnailUtils.createVideoThumbnail(path, Thumbnails.FULL_SCREEN_KIND);

        if(bmp!=null)
        {

            extBmp =    ThumbnailUtils.extractThumbnail(bmp, 300, 300);
            imgVie.setImageBitmap(extBmp);
        }

        if(bmp==null)
        {
            Toast.makeText(getApplicationContext(), "Sorry your bitmap returns null", Toast.LENGTH_LONG).show();
        }
    }



}

当在nexus4s 中运行此应用程序时,它进入if 条件。在所有其他手机中它移动到else。 你有什么建议吗。

【问题讨论】:

  • 对我来说路径不正确。你能检查一下吗?并在此处粘贴更多该代码。
  • @AtulOHolic 我编辑了我的代码。
  • 宾果游戏,这实际上是问题所在。这里的参数path是指你的视频在本地保存的文件路径。不确定它是否可以直接来自 URL。

标签: android thumbnails


【解决方案1】:

如果您的视频位于外部存储设备上,则需要权限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

【讨论】:

    【解决方案2】:

    1)- 有时如果视频质量很差,视频损坏或格式不受支持,它会返回空位图。

    2)- createVideoThumbnail(String filePath, int kind) 仅在 4.0+ 中支持 MINI_KIND 或 MICRO_KIND 作为 kind。

    http://developer.android.com/reference/android/media/ThumbnailUtils.html。 尝试其中一个...

    3)- 某些设备无法播放,也无法为放置在内存中的视频创建缩略图。检查它,然后在创建缩略图之前将您的视频移动到 SD 卡。

    4)检查文件的路径。

    【讨论】:

    • stackoverflow.com/questions/19048825/… 我拍摄了高质量的视频,我尝试了所有类型的视频,我正在从服务器位置获取文件路径。
    • 视频不是损坏的,因为当我点击播放视频的行时
    • 这可能是其他原因。
    • 这里是代码...... final String[] imageColumns = {MediaStore.Images.Media.DATA}; imageCursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, imageColumns, null, null, null); imageColumnIndex = imageCursor.getColumnIndex(MediaStore.Images.Media._ID);位图 bm = MediaStore.Images.Thumbnails.getThumbnail(getApplication().getContentResolver(), imageCursor.getInt(imageColumnIndex),MediaStore.Images.Thumbnails.MICRO_KIND, null);
    • 如果您改为调用 MINI_KIND,您将能够获得正确的缩略图。
    猜你喜欢
    • 2013-10-03
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 2017-07-26
    • 2019-12-10
    相关资源
    最近更新 更多