因此,基本上我正在尝试生成缩略图图像并将其上传到服务器。所以这是我的代码
Bitmap thumbnail = ThumbnailUtils.createVideoThumbnail(intent.getStringExtra("uri"), MediaStore.Video.Thumbnails.MINI_KIND);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] data = baos.toByteArray();
这是我的URI,我从以前的活动中获得了URI。而且不是零。
content://com.android.providers.media.documents/document/video%3A28682
但是,当我运行此代码时,它将在thumnail.compress方法上显示nullpointerexception。
错误日志..
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat, int, java.io.OutputStream)' on a null object reference
at com.buckydroid.app.Utils.FirebaseStorage$2.onSuccess(Unknown Source)
at com.buckydroid..Utils.FirebaseStorage$2.onSuccess(Unknown Source)
at com.google.firebase.storage.StorageTask$1.zza(Unknown Source)
at com.google.firebase.storage.StorageTask$1.zzk(Unknown Source)
at com.google.firebase.storage.zze$2.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6126)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
所以我做错了什么?
您的错误消息表示缩略图为null。
从thumbnailutils.createvideothumbnail的文档中,"如果视频损坏或不支持格式,则可能返回null。"
因此,您需要检查该调用null的结果,并适当处理。