當前位置: 首頁>>代碼示例>>Java>>正文


Java Timeline.getPeriodCount方法代碼示例

本文整理匯總了Java中com.google.android.exoplayer2.Timeline.getPeriodCount方法的典型用法代碼示例。如果您正苦於以下問題:Java Timeline.getPeriodCount方法的具體用法?Java Timeline.getPeriodCount怎麽用?Java Timeline.getPeriodCount使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.google.android.exoplayer2.Timeline的用法示例。


在下文中一共展示了Timeline.getPeriodCount方法的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: onTimelineChanged

import com.google.android.exoplayer2.Timeline; //導入方法依賴的package包/類
@Override
public void onTimelineChanged(Timeline timeline, Object manifest) {
  int periodCount = timeline.getPeriodCount();
  int windowCount = timeline.getWindowCount();
  Log.d(TAG, "sourceInfo [periodCount=" + periodCount + ", windowCount=" + windowCount);
  for (int i = 0; i < Math.min(periodCount, MAX_TIMELINE_ITEM_LINES); i++) {
    timeline.getPeriod(i, period);
    Log.d(TAG, "  " +  "period [" + getTimeString(period.getDurationMs()) + "]");
  }
  if (periodCount > MAX_TIMELINE_ITEM_LINES) {
    Log.d(TAG, "  ...");
  }
  for (int i = 0; i < Math.min(windowCount, MAX_TIMELINE_ITEM_LINES); i++) {
    timeline.getWindow(i, window);
    Log.d(TAG, "  " +  "window [" + getTimeString(window.getDurationMs()) + ", "
        + window.isSeekable + ", " + window.isDynamic + "]");
  }
  if (windowCount > MAX_TIMELINE_ITEM_LINES) {
    Log.d(TAG, "  ...");
  }
  Log.d(TAG, "]");
}
 
開發者ID:Tubitv,項目名稱:TubiPlayer,代碼行數:23,代碼來源:EventLogger.java

示例2: onTimelineChanged

import com.google.android.exoplayer2.Timeline; //導入方法依賴的package包/類
@Override
public void onTimelineChanged(Timeline timeline, Object manifest) {
  if (timeline == null) {
    return;
  }
  int periodCount = timeline.getPeriodCount();
  int windowCount = timeline.getWindowCount();
  Log.d(TAG, "sourceInfo [periodCount=" + periodCount + ", windowCount=" + windowCount);
  for (int i = 0; i < Math.min(periodCount, MAX_TIMELINE_ITEM_LINES); i++) {
    timeline.getPeriod(i, period);
    Log.d(TAG, "  " +  "period [" + getTimeString(period.getDurationMs()) + "]");
  }
  if (periodCount > MAX_TIMELINE_ITEM_LINES) {
    Log.d(TAG, "  ...");
  }
  for (int i = 0; i < Math.min(windowCount, MAX_TIMELINE_ITEM_LINES); i++) {
    timeline.getWindow(i, window);
    Log.d(TAG, "  " +  "window [" + getTimeString(window.getDurationMs()) + ", "
        + window.isSeekable + ", " + window.isDynamic + "]");
  }
  if (windowCount > MAX_TIMELINE_ITEM_LINES) {
    Log.d(TAG, "  ...");
  }
  Log.d(TAG, "]");
}
 
開發者ID:ashwanijanghu,項目名稱:ExoPlayer-Offline,代碼行數:26,代碼來源:EventLogger.java

示例3: LoopingTimeline

import com.google.android.exoplayer2.Timeline; //導入方法依賴的package包/類
public LoopingTimeline(Timeline childTimeline, int loopCount) {
  this.childTimeline = childTimeline;
  childPeriodCount = childTimeline.getPeriodCount();
  childWindowCount = childTimeline.getWindowCount();
  // This is the maximum number of loops that can be performed without exceeding
  // MAX_EXPOSED_PERIODS periods.
  int maxLoopCount = MAX_EXPOSED_PERIODS / childPeriodCount;
  if (loopCount > maxLoopCount) {
    if (loopCount != Integer.MAX_VALUE) {
      Log.w(TAG, "Capped loops to avoid overflow: " + loopCount + " -> " + maxLoopCount);
    }
    this.loopCount = maxLoopCount;
  } else {
    this.loopCount = loopCount;
  }
}
 
開發者ID:sanjaysingh1990,項目名稱:Exoplayer2Radio,代碼行數:17,代碼來源:LoopingMediaSource.java

示例4: ConcatenatedTimeline

import com.google.android.exoplayer2.Timeline; //導入方法依賴的package包/類
public ConcatenatedTimeline(Timeline[] timelines) {
  int[] sourcePeriodOffsets = new int[timelines.length];
  int[] sourceWindowOffsets = new int[timelines.length];
  long periodCount = 0;
  int windowCount = 0;
  for (int i = 0; i < timelines.length; i++) {
    Timeline timeline = timelines[i];
    periodCount += timeline.getPeriodCount();
    Assertions.checkState(periodCount <= Integer.MAX_VALUE,
        "ConcatenatingMediaSource children contain too many periods");
    sourcePeriodOffsets[i] = (int) periodCount;
    windowCount += timeline.getWindowCount();
    sourceWindowOffsets[i] = windowCount;
  }
  this.timelines = timelines;
  this.sourcePeriodOffsets = sourcePeriodOffsets;
  this.sourceWindowOffsets = sourceWindowOffsets;
}
 
開發者ID:sanjaysingh1990,項目名稱:Exoplayer2Radio,代碼行數:19,代碼來源:ConcatenatingMediaSource.java

示例5: onTimelineChanged

import com.google.android.exoplayer2.Timeline; //導入方法依賴的package包/類
@Override
public void onTimelineChanged(Timeline timeline, Object manifest) {
  int periodCount = timeline.getPeriodCount();
  int windowCount = timeline.getWindowCount();
  Log.d(TAG, "sourceInfo [periodCount=" + periodCount + ", windowCount=" + windowCount);
  for (int i = 0; i < Math.min(periodCount, MAX_TIMELINE_ITEM_LINES); i++) {
    timeline.getPeriod(i, period);
    Log.d(TAG, "  " +  "period [" + getTimeString(period.getDurationMs()) + "]");
  }
  if (periodCount > MAX_TIMELINE_ITEM_LINES) {
    Log.d(TAG, "  ...");
  }
  for (int i = 0; i < Math.min(windowCount, MAX_TIMELINE_ITEM_LINES); i++) {
    timeline.getWindow(i, window);
    Log.d(TAG, "  " +  "window [" + getTimeString(window.getDurationMs()) + ", "
            + window.isSeekable + ", " + window.isDynamic + "]");
  }
  if (windowCount > MAX_TIMELINE_ITEM_LINES) {
    Log.d(TAG, "  ...");
  }
  Log.d(TAG, "]");
}
 
開發者ID:CarGuo,項目名稱:GSYVideoPlayer,代碼行數:23,代碼來源:EventLogger.java

示例6: ConcatenatedTimeline

import com.google.android.exoplayer2.Timeline; //導入方法依賴的package包/類
public ConcatenatedTimeline(Timeline[] timelines) {
  int[] sourcePeriodOffsets = new int[timelines.length];
  int[] sourceWindowOffsets = new int[timelines.length];
  int periodCount = 0;
  int windowCount = 0;
  for (int i = 0; i < timelines.length; i++) {
    Timeline timeline = timelines[i];
    periodCount += timeline.getPeriodCount();
    sourcePeriodOffsets[i] = periodCount;
    windowCount += timeline.getWindowCount();
    sourceWindowOffsets[i] = windowCount;
  }
  this.timelines = timelines;
  this.sourcePeriodOffsets = sourcePeriodOffsets;
  this.sourceWindowOffsets = sourceWindowOffsets;
}
 
開發者ID:jcodeing,項目名稱:K-Sonic,代碼行數:17,代碼來源:ConcatenatingMediaSource.java

示例7: onTimelineChanged

import com.google.android.exoplayer2.Timeline; //導入方法依賴的package包/類
@Override
public void onTimelineChanged(Timeline timeline, Object manifest) {
  int periodCount = timeline.getPeriodCount();
  int windowCount = timeline.getWindowCount();
  Log.d(TAG, "sourceInfo [periodCount=" + periodCount + ", windowCount=" + windowCount);
  for (int i = 0; i < Math.min(periodCount, MAX_TIMELINE_ITEM_LINES); i++) {
    timeline.getPeriod(i, period);
    Log.d(TAG, "  " + "period [" + getTimeString(period.getDurationMs()) + "]");
  }
  if (periodCount > MAX_TIMELINE_ITEM_LINES) {
    Log.d(TAG, "  ...");
  }
  for (int i = 0; i < Math.min(windowCount, MAX_TIMELINE_ITEM_LINES); i++) {
    timeline.getWindow(i, window);
    Log.d(TAG, "  " + "window [" + getTimeString(window.getDurationMs()) + ", "
            + window.isSeekable + ", " + window.isDynamic + "]");
  }
  if (windowCount > MAX_TIMELINE_ITEM_LINES) {
    Log.d(TAG, "  ...");
  }
  Log.d(TAG, "]");
}
 
開發者ID:jcodeing,項目名稱:K-Sonic,代碼行數:23,代碼來源:EventLogger.java

示例8: onTimelineChanged

import com.google.android.exoplayer2.Timeline; //導入方法依賴的package包/類
@Override
public void onTimelineChanged(Timeline timeline, Object manifest) {
    if (timeline == null) {
        return;
    }
    int periodCount = timeline.getPeriodCount();
    int windowCount = timeline.getWindowCount();
    Log.d(TAG, "sourceInfo [periodCount=" + periodCount + ", windowCount=" + windowCount);
    for (int i = 0; i < Math.min(periodCount, MAX_TIMELINE_ITEM_LINES); i++) {
        timeline.getPeriod(i, period);
        Log.d(TAG, "  " + "period [" + getTimeString(period.getDurationMs()) + "]");
    }
    if (periodCount > MAX_TIMELINE_ITEM_LINES) {
        Log.d(TAG, "  ...");
    }
    for (int i = 0; i < Math.min(windowCount, MAX_TIMELINE_ITEM_LINES); i++) {
        timeline.getWindow(i, window);
        Log.d(TAG, "  " + "window [" + getTimeString(window.getDurationMs()) + ", "
                + window.isSeekable + ", " + window.isDynamic + "]");
    }
    if (windowCount > MAX_TIMELINE_ITEM_LINES) {
        Log.d(TAG, "  ...");
    }
    Log.d(TAG, "]");
}
 
開發者ID:AndroidTips,項目名稱:MDVideo,代碼行數:26,代碼來源:EventLogger.java

示例9: checkTimelineMerges

import com.google.android.exoplayer2.Timeline; //導入方法依賴的package包/類
private IllegalMergeException checkTimelineMerges(Timeline timeline) {
  int windowCount = timeline.getWindowCount();
  for (int i = 0; i < windowCount; i++) {
    if (timeline.getWindow(i, window, false).isDynamic) {
      return new IllegalMergeException(IllegalMergeException.REASON_WINDOWS_ARE_DYNAMIC);
    }
  }
  if (periodCount == PERIOD_COUNT_UNSET) {
    periodCount = timeline.getPeriodCount();
  } else if (timeline.getPeriodCount() != periodCount) {
    return new IllegalMergeException(IllegalMergeException.REASON_PERIOD_COUNT_MISMATCH);
  }
  return null;
}
 
開發者ID:sanjaysingh1990,項目名稱:Exoplayer2Radio,代碼行數:15,代碼來源:MergingMediaSource.java

示例10: LoopingTimeline

import com.google.android.exoplayer2.Timeline; //導入方法依賴的package包/類
public LoopingTimeline(Timeline childTimeline, int loopCount) {
  this.childTimeline = childTimeline;
  childPeriodCount = childTimeline.getPeriodCount();
  childWindowCount = childTimeline.getWindowCount();
  // This is the maximum number of loops that can be performed without overflow.
  int maxLoopCount = Integer.MAX_VALUE / childPeriodCount;
  if (loopCount > maxLoopCount) {
    if (loopCount != Integer.MAX_VALUE) {
      Log.w(TAG, "Capped loops to avoid overflow: " + loopCount + " -> " + maxLoopCount);
    }
    this.loopCount = maxLoopCount;
  } else {
    this.loopCount = loopCount;
  }
}
 
開發者ID:jcodeing,項目名稱:K-Sonic,代碼行數:16,代碼來源:LoopingMediaSource.java


注:本文中的com.google.android.exoplayer2.Timeline.getPeriodCount方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。