Próbuję uzyskać rozmiar zdalnego wideo przy użyciu tej klasy i otrzymuję IllegalArgumentException, jeśli wideo jest zdalne.MediaMetadataRetriever setDataSource wyrzuca IllegalArgumentException
wideo MP4 jest przechowywany w jednym serwerze ...
film odtwarza poprawnie jeśli zagram go z MediaPlayer, ale daje błąd, gdy próbuję to zrobić:
try {
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
Bitmap bmp = null;
retriever.setDataSource(context, uri);
bmp = retriever.getFrameAtTime();
videoHeight = (int) (bmp.getHeight()*((float)getIntWidth()/bmp.getWidth()));
} catch (Exception e) {
e.printStackTrace();
}
błąd zostanie rzucony w tej linii:
retriever.setDataSource(context, uri);
i uri zawiera Uri.parse("http://www.myweb.com/myvideo.mp4");
co jest nie tak w kodzie?
12-19 13:38:08.610: W/System.err(13333): java.lang.IllegalArgumentException
12-19 13:38:08.611: W/System.err(13333): at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:175)
Czy rozwiązałeś ten problem? – ClassA