Я пытаюсь получить продолжительность воспроизведения видео, так как я создаю свой пользовательский медиа-контроллер. Когда я использую по умолчанию mediacontroller, кажется, нет проблем, поскольку он показывает все подробности. Я хочу создайте свой собственный mediacontroller только для добавления графики в мое приложение. Я не мог получить полную продолжительность своего онлайн-видео, используя любой из следующих кодов. Некоторые эксперты, пожалуйста, помогите.андроид видео показать полную продолжительность без использования медиа-контроллера
mVideoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
long duration1 = mp.getDuration();
Log.d("DURATION of media player", duration1+"");
Log.d("Videoview duration", mVideoView.getDuration()+"");
int msec = MediaPlayer.create(getApplicationContext(),video).getDuration();
Log.d("Duration of msec", msec+"");
try{
//this block not working ... why???
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
//video = uri.parse(String myurl)
retriever.setDataSource(getApplicationContext(),video);
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);
finalTime = timeInmillisec;
Log.d("HH:MM:SS", hours+":"+minutes+":"+seconds+"");
}catch(IllegalArgumentException e){
Log.d(TAG, "media meta retriever error");
e.printStackTrace();
Log.d(TAG, e.getMessage()+"");
}
моя последняя попытка всегда возвращает исключение нелегальный аргумент, хотя URL воспроизводится правильно, даже с помощью VLC Media Player Я пробовал разные способы, имеющиеся у него, например,
retriever.setDataSource (String path)
retriever.setDataSource (Context context, Uri uri)
Не могли бы вы указать мне пример проекта андроидной студии 2.2? Я также хочу создать пользовательский медиа-контроллер. Спасибо – user1788736
проверьте ссылку, где вы найдете пример проекта https://github.com/brightec/ExampleMediaController –