Хотите получить текущую продолжительность видео в logcat. используя exoplayer

Я хочу получить текущую продолжительность видео. Я использую ExoPlayer (Exoplayer используется для воспроизведения видео, это видеоплеер), и я хочу отображать текущую продолжительность воспроизведения видео. Метод getCurrentDuration () используется для получения текущей продолжительности видео, поэтому я хочу получить эту продолжительность в журнале. Вот почему я кодирую такой код, но он не обеспечивает правильную продолжительность. Я хочу, чтобы при воспроизведении видео текущая продолжительность, отображаемая на панели поиска, также отображалась в журнале.

for (long x=0;x<10000000;x++){

long position = mPlayer.getCurrentPosition();

Log.d(">>>>AdPopUp", Long.toString(position));

person vaibhav thakre    schedule 20.06.2017    source источник
comment
Добро пожаловать в Stack Overflow! Трудно предлагать решения, когда проблема проста, она не работает. Пожалуйста, отредактируйте свой вопрос, чтобы дать более полное описание того, что вы ожидали, и чем это отличается от фактических результатов. См. Как спросить, чтобы узнать, что является хорошим объяснением.   -  person Toby Speight    schedule 20.06.2017
comment
Всегда используйте String.valueOf( i ); для преобразования любого значения типа int, long, double в String.   -  person Nitin Patel    schedule 20.06.2017
comment
ни у кого нет ответа на это?   -  person vaibhav thakre    schedule 24.06.2017


Ответы (1)


Есть выход:

private PlayerView videoView;

Log.i("video_duration", 
((TextView)videoView.findViewById(R.id.exo_duration)).getText().toString());

Не забывайте не называть это сразу. Он вернет 00:00, вместо этого используйте его внутри обработчика с postDelayed (Runnable, long millisec), как показано ниже:

videoView.postDelayed(new Runnable() {
@Override
public void run() {
Log.i("video_duration", 
((TextView)videoView.findViewById(R.id.exo_duration)).getText().toString());
}
}, 2000);

Однако вы можете использовать MediaMetadataRetriever:

MediaMetadataRetriever retriever = new MediaMetadataRetriever();
try {
     retriever.setDataSource(mContext, Uri.fromFile(file));
     String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
     } catch (Exception ignored) {
    } finally {
        retriever.release();
    }
person Bukhari    schedule 06.04.2020