以下兩種模式都可以在模擬器(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