Ich arbeite an einer App, wo der Benutzer alle Informationen und Titel des Videos, die auf einem Server gespeichert sind, sehen kann. Ich bin fast fertig damit, aber egal wie ich es code, kann ich die Videodauer von einer gegebenen URL nicht bekommen. Nehmen wir dieses Demo-Video von irgendwo im Internet: CLICK HERE FOR VIDEO PATH Ich möchte, dass die App die Videodauer erhält, ohne dass das Video selbst geöffnet werden muss.Videodauer von URL in Android-App erhalten
Der Code, den ich auf Android verwenden ist versucht, ist dies:
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource("https://12-lvl3-pdl.vimeocdn.com/01/1386/0/6932347/10573836.mp4?expires=1461047937&token=037972137fdfc4c2d9902");
String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
long timeInmillisec = Long.parseLong(time);
long duration = timeInmillisec/1000;
long hours = duration/3600;
long minutes = (duration - hours * 3600)/60;
long seconds = duration - (hours * 3600 + minutes * 60);
Toast.makeText(context,Long.toString(timeInmillisec),Toast.LENGTH_SHORT).show();
Aber das Ergebnis, das ich erhalte ein: java.lang.IllegalArgumentException in Zeile 2, die "Retriever sind. setDataSource() ". Kann mir jemand helfen, herauszufinden, was ich falsch mache, oder stellt Android eine andere Möglichkeit bereit, um die erforderlichen Informationen zu erhalten?
haben Sie rufen '' setDataSource es auf Mainthread oder Netzwerk-Thread? – Kathi