@Override public long getDuration() { long durationMs = player.getDuration(); return durationMs == C.TIME_UNSET ? -1 : durationMs; }
@Override public void onSeekTo(Player player, long position) { long duration = player.getDuration(); if (duration != C.TIME_UNSET) { position = Math.min(position, duration); } player.seekTo(Math.max(position, 0)); }
private void fastForward() { if (fastForwardMs <= 0) { return; } long durationMs = player.getDuration(); long seekPositionMs = player.getCurrentPosition() + fastForwardMs; if (durationMs != C.TIME_UNSET) { seekPositionMs = Math.min(seekPositionMs, durationMs); } seekTo(seekPositionMs); }
@Override public VideoProgressUpdate getAdProgress() { if (player == null) { return lastAdProgress; } else if (imaAdState != IMA_AD_STATE_NONE && playingAd) { long adDuration = player.getDuration(); return adDuration == C.TIME_UNSET ? VideoProgressUpdate.VIDEO_TIME_NOT_READY : new VideoProgressUpdate(player.getCurrentPosition(), adDuration); } else { return VideoProgressUpdate.VIDEO_TIME_NOT_READY; } }
player.getDuration() == C.TIME_UNSET ? -1 : player.getDuration()); long activeQueueItemId = mediaController.getPlaybackState().getActiveQueueItemId(); if (activeQueueItemId != MediaSessionCompat.QueueItem.UNKNOWN_ID) {
private CharSequence generateFastForwardOrRewindTxt(long changingTime) { long duration = player == null ? 0 : player.getDuration(); String result = Util.getStringForTime(formatBuilder, formatter, changingTime); result = result + "/"; result = result + Util.getStringForTime(formatBuilder, formatter, duration); int index = result.indexOf("/"); SpannableString spannableString = new SpannableString(result); TypedValue typedValue = new TypedValue(); TypedArray a = getContext().obtainStyledAttributes(typedValue.data, new int[]{R.attr.colorAccent}); int color = a.getColor(0, 0); a.recycle(); spannableString.setSpan(new ForegroundColorSpan(color), 0, index, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); spannableString.setSpan(new ForegroundColorSpan(Color.WHITE), index, result.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); return spannableString; }
private void fastForward() { if (fastForwardMs <= 0) { return; } long durationMs = player.getDuration(); long seekPositionMs = player.getCurrentPosition() + fastForwardMs; if (durationMs != C.TIME_UNSET) { seekPositionMs = Math.min(seekPositionMs, durationMs); } seekTo(seekPositionMs); }
long length = player.getDuration(); long time = player.getCurrentPosition();