以下の両方がエミュレーター (2.3.3) で正常に動作しますが、実際のデバイス ( Nexus S with 4.1.2) ではサムネイルに画像が表示されません。で実行してみAndroid 4 Emulator
ます。のデフォルトを設定するandroid:src
とImageView
、表示されなくなります。これは入れ替わったのかと思いきや、ImageView
中身は空っぽ。
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);
}
}
}
リモート ビデオ URL から Android デバイスにビデオ サムネイルを表示する という同様の質問が以前に出されたことは知っていますが、既にこれと同じ結果を試しました。
デバイスでこれが機能しないのはなぜですか? また、どのように機能させるのですか?