É possível exibir uma miniatura de vídeo a partir de um URL no Android 4 e superior?
Ambos os abaixo funcionam bem no emulador (2.3.3), mas em um dispositivo real (Nexus S com 4.1.2) nenhuma imagem é mostrada para a miniatura. Eu também tentarei executá-lo em umAndroid 4 Emulator
. Se eu definir um padrãoandroid:src
para oImageView
, não é mais mostrado então. Isso me faz pensar que é substituído, mas oImageView
está vazia.
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);
}
}
}
Eu sei que uma pergunta semelhante foi feita antes,Exibindo miniaturas de vídeo em um dispositivo Android a partir de um URL de vídeo remoto, mas eu já tentei este e mesmo resultado.
Por que isso não funciona no dispositivo e como ele funciona?