以下两种模式都可以在模拟器(2.3.3)上正常工作,但在真实设备上(Nexus S使用4.1.2),没有图像显示缩略图。我也会尝试在Android 4 Emulator
上运行它。如果我为ImageView
设置了默认的android:src
,则不再显示。这让我觉得它被替换了,但是ImageView
是空的。可以在Android 4及以上版本的URL上显示视频缩略图吗?
public class MainActivity extends Activity {
ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img = (ImageView)findViewById(R.id.img_thumbnail);
new MyAsync().execute("http://commonsware.com/misc/test.mp4");
}
//This version is still not working, but it's more readable (edited: Selvin).
public class MyAsync extends AsyncTask<String, Void, Bitmap>{
@Override
protected Bitmap doInBackground(String... objectURL) {
//return ThumbnailUtils.createVideoThumbnail(objectURL[0], Thumbnails.MINI_KIND);
return ThumbnailUtils.extractThumbnail(ThumbnailUtils.createVideoThumbnail(objectURL[0], Thumbnails.MINI_KIND), 100, 100);
}
@Override
protected void onPostExecute(Bitmap result){
img.setImageBitmap(result);
}
}
}
我知道了类似的问题已经被问过,Displaying video thumbnails in an Android device from a remote video URL,但我已经尝试过这一点,同样的结果。
为什么不在设备上工作以及如何使其工作?
定义不工作...任何logcat的日志? – Selvin
@Selvin No..no LogCat – AlexAndro
so bmThumbnail在提取后为空?尝试在AsyncTask中调用提取... – Selvin