当前位置: 首页>>代码示例>>Java>>正文


Java MultiTrackChunkSource类代码示例

本文整理汇总了Java中com.google.android.exoplayer.chunk.MultiTrackChunkSource的典型用法代码示例。如果您正苦于以下问题:Java MultiTrackChunkSource类的具体用法?Java MultiTrackChunkSource怎么用?Java MultiTrackChunkSource使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MultiTrackChunkSource类属于com.google.android.exoplayer.chunk包,在下文中一共展示了MultiTrackChunkSource类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: pushTrackSelection

import com.google.android.exoplayer.chunk.MultiTrackChunkSource; //导入依赖的package包/类
private void pushTrackSelection(int type, boolean allowRendererEnable) {
  if (multiTrackSources == null) {
    return;
  }
  int trackIndex = selectedTracks[type];
  if (trackIndex == DISABLED_TRACK) {
    player.setRendererEnabled(type, false);
  } else if (multiTrackSources[type] == null) {
    player.setRendererEnabled(type, allowRendererEnable);
  } else {
    boolean playWhenReady = player.getPlayWhenReady();
    player.setPlayWhenReady(false);
    player.setRendererEnabled(type, false);
    player.sendMessage(multiTrackSources[type], MultiTrackChunkSource.MSG_SELECT_TRACK,
        trackIndex);
    player.setRendererEnabled(type, allowRendererEnable);
    player.setPlayWhenReady(playWhenReady);
  }
}
 
开发者ID:XueyanLiu,项目名称:miku,代码行数:20,代码来源:MediaPlayer.java

示例2: pushTrackSelection

import com.google.android.exoplayer.chunk.MultiTrackChunkSource; //导入依赖的package包/类
private void pushTrackSelection(int type, boolean allowRendererEnable) {
    if (multiTrackSources == null) {
        return;
    }

    int trackIndex = selectedTracks[type];
    if (trackIndex == DISABLED_TRACK) {
        player.setRendererEnabled(type, false);
    } else if (multiTrackSources[type] == null) {
        player.setRendererEnabled(type, allowRendererEnable);
    } else {
        boolean playWhenReady = player.getPlayWhenReady();
        player.setPlayWhenReady(false);
        player.setRendererEnabled(type, false);
        player.sendMessage(multiTrackSources[type], MultiTrackChunkSource.MSG_SELECT_TRACK,
                trackIndex);
        player.setRendererEnabled(type, allowRendererEnable);
        player.setPlayWhenReady(playWhenReady);
    }
}
 
开发者ID:nextux,项目名称:sbs-android-tv,代码行数:21,代码来源:VideoPlayer.java

示例3: pushTrackSelection

import com.google.android.exoplayer.chunk.MultiTrackChunkSource; //导入依赖的package包/类
private void pushTrackSelection(int type, boolean allowRendererEnable) {
  if (multiTrackSources == null) {
    return;
  }

  int trackIndex = selectedTracks[type];
  if (trackIndex == DISABLED_TRACK) {
    player.setRendererEnabled(type, false);
  } else if (multiTrackSources[type] == null) {
    player.setRendererEnabled(type, allowRendererEnable);
  } else {
    boolean playWhenReady = player.getPlayWhenReady();
    player.setPlayWhenReady(false);
    player.setRendererEnabled(type, false);
    player.sendMessage(multiTrackSources[type], MultiTrackChunkSource.MSG_SELECT_TRACK,
        trackIndex);
    player.setRendererEnabled(type, allowRendererEnable);
    player.setPlayWhenReady(playWhenReady);
  }
}
 
开发者ID:korrio,项目名称:AdvancedVideoView,代码行数:21,代码来源:DemoPlayer.java

示例4: pushTrackSelection

import com.google.android.exoplayer.chunk.MultiTrackChunkSource; //导入依赖的package包/类
private void pushTrackSelection(int type, boolean allowRendererEnable) {
  if (rendererBuildingState != RENDERER_BUILDING_STATE_BUILT) {
    return;
  }

  int trackIndex = selectedTracks[type];
  if (trackIndex == DISABLED_TRACK) {
    player.setRendererEnabled(type, false);
  } else if (multiTrackSources[type] == null) {
    player.setRendererEnabled(type, allowRendererEnable);
  } else {
    boolean playWhenReady = player.getPlayWhenReady();
    player.setPlayWhenReady(false);
    player.setRendererEnabled(type, false);
    player.sendMessage(multiTrackSources[type], MultiTrackChunkSource.MSG_SELECT_TRACK,
        trackIndex);
    player.setRendererEnabled(type, allowRendererEnable);
    player.setPlayWhenReady(playWhenReady);
  }
}
 
开发者ID:Weco,项目名称:android-exoplayer,代码行数:21,代码来源:DemoPlayer.java

示例5: if

import com.google.android.exoplayer.chunk.MultiTrackChunkSource; //导入依赖的package包/类
/**
   * Invoked with the results from a {@link RendererBuilder}.
   *
   * @param trackNames        The names of the available tracks, indexed by {@link VideoPlayer} TYPE_*
   *                          constants. May be null if the track names are unknown. An individual element may be null
   *                          if the track names are unknown for the corresponding type.
   * @param multiTrackSources Sources capable of switching between multiple available tracks,
   *                          indexed by {@link VideoPlayer} TYPE_* constants. May be null if there are no types with
   *                          multiple tracks. An individual element may be null if it does not have multiple tracks.
   * @param renderers         Renderers indexed by {@link VideoPlayer} TYPE_* constants. An individual
   *                          element may be null if there do not exist tracks of the corresponding type.
   * @param bandwidthMeter    Provides an estimate of the currently available bandwidth. May be null.
   */
/* package */ void onRenderers(String[][] trackNames,
                               MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers,
                               BandwidthMeter bandwidthMeter) {
      // Normalize the results.
      if (trackNames == null) {
          trackNames = new String[RENDERER_COUNT][];
      }
      if (multiTrackSources == null) {
          multiTrackSources = new MultiTrackChunkSource[RENDERER_COUNT];
      }
      for (int rendererIndex = 0; rendererIndex < RENDERER_COUNT; rendererIndex++) {
          if (renderers[rendererIndex] == null) {
              // Convert a null renderer to a dummy renderer.
              renderers[rendererIndex] = new DummyTrackRenderer();
          }
          if (trackNames[rendererIndex] == null) {
              // Convert a null trackNames to an array of suitable length.
              int trackCount = multiTrackSources[rendererIndex] != null
                      ? multiTrackSources[rendererIndex].getTrackCount() : 1;
              trackNames[rendererIndex] = new String[trackCount];
          }
      }
      // Complete preparation.
      this.trackNames = trackNames;
      this.videoRenderer = renderers[TYPE_VIDEO];
      this.codecCounters = videoRenderer instanceof MediaCodecTrackRenderer
              ? ((MediaCodecTrackRenderer) videoRenderer).codecCounters
              : renderers[TYPE_AUDIO] instanceof MediaCodecTrackRenderer
              ? ((MediaCodecTrackRenderer) renderers[TYPE_AUDIO]).codecCounters : null;
      this.multiTrackSources = multiTrackSources;
      this.bandwidthMeter = bandwidthMeter;
      pushSurface(false);
      pushTrackSelection(TYPE_VIDEO, true);
      pushTrackSelection(TYPE_AUDIO, true);
      pushTrackSelection(TYPE_TEXT, true);
      player.prepare(renderers);
      rendererBuildingState = RENDERER_BUILDING_STATE_BUILT;
  }
 
开发者ID:nextux,项目名称:sbs-android-tv,代码行数:52,代码来源:VideoPlayer.java

示例6: onRenderers

import com.google.android.exoplayer.chunk.MultiTrackChunkSource; //导入依赖的package包/类
void onRenderers(String[][] trackNames,
    MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers) {
  builderCallback = null;
  // Normalize the results.
  if (trackNames == null) {
    trackNames = new String[RENDERER_COUNT][];
  }
  if (multiTrackSources == null) {
    multiTrackSources = new MultiTrackChunkSource[RENDERER_COUNT];
  }
  for (int i = 0; i < RENDERER_COUNT; i++) {
    if (renderers[i] == null) {
      // Convert a null renderer to a dummy renderer.
      renderers[i] = new DummyTrackRenderer();
    } else if (trackNames[i] == null) {
      // We have a renderer so we must have at least one track, but the names are unknown.
      // Initialize the correct number of null track names.
      int trackCount = multiTrackSources[i] == null ? 1 : multiTrackSources[i].getTrackCount();
      trackNames[i] = new String[trackCount];
    }
  }
  // Complete preparation.
  this.trackNames = trackNames;
  this.videoRenderer = renderers[TYPE_VIDEO];
  this.multiTrackSources = multiTrackSources;
  pushSurface(false);
  pushTrackSelection(TYPE_VIDEO, true);
  pushTrackSelection(TYPE_AUDIO, true);
  pushTrackSelection(TYPE_TEXT, true);
  player.prepare(renderers);
  rendererBuildingState = RENDERER_BUILDING_STATE_BUILT;
}
 
开发者ID:korrio,项目名称:AdvancedVideoView,代码行数:33,代码来源:DemoPlayer.java

示例7: onRenderers

import com.google.android.exoplayer.chunk.MultiTrackChunkSource; //导入依赖的package包/类
void onRenderers(String[][] trackNames,
    MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers) {
  builderCallback = null;
  // Normalize the results.
  if (trackNames == null) {
    trackNames = new String[RENDERER_COUNT][];
  }
  if (multiTrackSources == null) {
    multiTrackSources = new MultiTrackChunkSource[RENDERER_COUNT];
  }
  for (int i = 0; i < RENDERER_COUNT; i++) {
    if (renderers[i] == null) {
      // Convert a null renderer to a dummy renderer.
      renderers[i] = new DummyTrackRenderer();
    } else if (trackNames[i] == null) {
      // We have a renderer so we must have at least one track, but the names are unknown.
      // Initialize the correct number of null track names.
      int trackCount = multiTrackSources[i] == null ? 1 : multiTrackSources[i].getTrackCount();
      trackNames[i] = new String[trackCount];
    }
  }
  // Complete preparation.
  this.videoRenderer = renderers[TYPE_VIDEO];
  this.trackNames = trackNames;
  this.multiTrackSources = multiTrackSources;
  rendererBuildingState = RENDERER_BUILDING_STATE_BUILT;
  pushSurfaceAndVideoTrack(false);
  pushTrackSelection(TYPE_AUDIO, true);
  pushTrackSelection(TYPE_TEXT, true);
  player.prepare(renderers);
}
 
开发者ID:Weco,项目名称:android-exoplayer,代码行数:32,代码来源:DemoPlayer.java

示例8: onRenderers

import com.google.android.exoplayer.chunk.MultiTrackChunkSource; //导入依赖的package包/类
void onRenderers(String[][] trackNames,
    MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers,
    BandwidthMeter bandwidthMeter) {
  builderCallback = null;
  // Normalize the results.
  if (trackNames == null) {
    trackNames = new String[RENDERER_COUNT][];
  }
  if (multiTrackSources == null) {
    multiTrackSources = new MultiTrackChunkSource[RENDERER_COUNT];
  }
  for (int rendererIndex = 0; rendererIndex < RENDERER_COUNT; rendererIndex++) {
    if (renderers[rendererIndex] == null) {
      // Convert a null renderer to a dummy renderer.
      renderers[rendererIndex] = new DummyTrackRenderer();
    }
    if (trackNames[rendererIndex] == null) {
      // Convert a null trackNames to an array of suitable length.
      int trackCount = multiTrackSources[rendererIndex] != null
          ? multiTrackSources[rendererIndex].getTrackCount() : 1;
      trackNames[rendererIndex] = new String[trackCount];
    }
  }
  // Complete preparation.
  this.trackNames = trackNames;
  this.videoRenderer = renderers[TYPE_VIDEO];
  this.codecCounters = videoRenderer instanceof MediaCodecTrackRenderer
      ? ((MediaCodecTrackRenderer) videoRenderer).codecCounters
      : renderers[TYPE_AUDIO] instanceof MediaCodecTrackRenderer
      ? ((MediaCodecTrackRenderer) renderers[TYPE_AUDIO]).codecCounters : null;
  this.bandwidthMeter = bandwidthMeter;
  pushSurface(false);
  player.prepare(renderers);
  rendererBuildingState = RENDERER_BUILDING_STATE_BUILT;
}
 
开发者ID:caspercba,项目名称:exoPlayerHLS,代码行数:36,代码来源:DemoPlayer.java

示例9: onRenderers

import com.google.android.exoplayer.chunk.MultiTrackChunkSource; //导入依赖的package包/类
void onRenderers(String[][] trackNames,
    MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers) {
  builderCallback = null;
  // Normalize the results.
  if (trackNames == null) {
    trackNames = new String[RENDERER_COUNT][];
  }
  if (multiTrackSources == null) {
    multiTrackSources = new MultiTrackChunkSource[RENDERER_COUNT];
  }
  for (int i = 0; i < RENDERER_COUNT; i++) {
    if (renderers[i] == null) {
      // Convert a null renderer to a dummy renderer.
      renderers[i] = new DummyTrackRenderer();
    } else if (trackNames[i] == null) {
      // We have a renderer so we must have at least one track, but the names are unknown.
      // Initialize the correct number of null track names.
      int trackCount = multiTrackSources[i] == null ? 1 : multiTrackSources[i].getTrackCount();
      trackNames[i] = new String[trackCount];
    }
  }
  // Complete preparation.
  this.videoRenderer = renderers[TYPE_VIDEO];
  this.trackNames = trackNames;
  this.multiTrackSources = multiTrackSources;
  rendererBuildingState = RENDERER_BUILDING_STATE_BUILT;
  pushSurface(false);
  pushTrackSelection(TYPE_VIDEO, true);
  pushTrackSelection(TYPE_AUDIO, true);
  pushTrackSelection(TYPE_TEXT, true);
  player.prepare(renderers);
}
 
开发者ID:tyazid,项目名称:Exoplayer_VLC,代码行数:33,代码来源:DemoPlayer.java

示例10: if

import com.google.android.exoplayer.chunk.MultiTrackChunkSource; //导入依赖的package包/类
/**
 * Invoked with the results from a {@link RendererBuilder}.
 *
 * @param trackNames The names of the available tracks, indexed by {@link DemoPlayer} TYPE_*
 *     constants. May be null if the track names are unknown. An individual element may be null
 *     if the track names are unknown for the corresponding type.
 * @param multiTrackSources Sources capable of switching between multiple available tracks,
 *     indexed by {@link DemoPlayer} TYPE_* constants. May be null if there are no types with
 *     multiple tracks. An individual element may be null if it does not have multiple tracks.
 * @param renderers Renderers indexed by {@link DemoPlayer} TYPE_* constants. An individual
 *     element may be null if there do not exist tracks of the corresponding type.
 * @param bandwidthMeter Provides an estimate of the currently available bandwidth. May be null.
 */
/* package */ void onRenderers(String[][] trackNames,
    MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers,
    BandwidthMeter bandwidthMeter) {
  // Normalize the results.
  if (trackNames == null) {
    trackNames = new String[RENDERER_COUNT][];
  }
  if (multiTrackSources == null) {
    multiTrackSources = new MultiTrackChunkSource[RENDERER_COUNT];
  }
  for (int rendererIndex = 0; rendererIndex < RENDERER_COUNT; rendererIndex++) {
    if (renderers[rendererIndex] == null) {
      // Convert a null renderer to a dummy renderer.
      renderers[rendererIndex] = new DummyTrackRenderer();
    }
    if (trackNames[rendererIndex] == null) {
      // Convert a null trackNames to an array of suitable length.
      int trackCount = multiTrackSources[rendererIndex] != null
          ? multiTrackSources[rendererIndex].getTrackCount() : 1;
      trackNames[rendererIndex] = new String[trackCount];
    }
  }
  // Complete preparation.
  this.trackNames = trackNames;
  this.videoRenderer = renderers[TYPE_VIDEO];
  this.codecCounters = videoRenderer instanceof MediaCodecTrackRenderer
      ? ((MediaCodecTrackRenderer) videoRenderer).codecCounters
      : renderers[TYPE_AUDIO] instanceof MediaCodecTrackRenderer
      ? ((MediaCodecTrackRenderer) renderers[TYPE_AUDIO]).codecCounters : null;
  this.multiTrackSources = multiTrackSources;
  this.bandwidthMeter = bandwidthMeter;
  pushSurface(false);
  pushTrackSelection(TYPE_VIDEO, true);
  pushTrackSelection(TYPE_AUDIO, true);
  pushTrackSelection(TYPE_TEXT, true);
  player.prepare(renderers);
  rendererBuildingState = RENDERER_BUILDING_STATE_BUILT;
}
 
开发者ID:raphanda,项目名称:ExoPlayer,代码行数:52,代码来源:DemoPlayer.java

示例11: onRenderers

import com.google.android.exoplayer.chunk.MultiTrackChunkSource; //导入依赖的package包/类
void onRenderers(String[][] trackNames,
      MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers) {
    builderCallback = null;
    // Normalize the results.
    if (trackNames == null) {
      trackNames = new String[RENDERER_COUNT][];
    }
    if (multiTrackSources == null) {
      multiTrackSources = new MultiTrackChunkSource[RENDERER_COUNT];
    }
    for (int i = 0; i < RENDERER_COUNT; i++) {
      if (renderers[i] == null) {
        // Convert a null renderer to a dummy renderer.
        renderers[i] = new DummyTrackRenderer();
      } else if (trackNames[i] == null) {
        // We have a renderer so we must have at least one track, but the names are unknown.
        // Initialize the correct number of null track names.
        int trackCount = multiTrackSources[i] == null ? 1 : multiTrackSources[i].getTrackCount();
        trackNames[i] = new String[trackCount];
      }
    }
    // Complete preparation.
    this.videoRenderer = renderers[TYPE_VIDEO];
    this.trackNames = trackNames;
    this.multiTrackSources = multiTrackSources;
    rendererBuildingState = RENDERER_BUILDING_STATE_BUILT;
    maybeReportPlayerState();
    pushSurfaceAndVideoTrack(false);
    pushTrackSelection(TYPE_AUDIO, true);
//    pushTrackSelection(TYPE_TEXT, true);
    player.prepare(renderers);
  }
 
开发者ID:lsjwzh,项目名称:ExoPlayerCompat,代码行数:33,代码来源:ExoPlayerWrapper.java

示例12: if

import com.google.android.exoplayer.chunk.MultiTrackChunkSource; //导入依赖的package包/类
/**
 * Invoked with the results from a {@link RendererBuilder}.
 *
 * @param trackNames        The names of the available tracks, indexed by {@link MediaPlayer} TYPE_*
 *                          constants. May be null if the track names are unknown. An individual element may be
 *                          null
 *                          if the track names are unknown for the corresponding type.
 * @param multiTrackSources Sources capable of switching between multiple available tracks,
 *                          indexed by {@link MediaPlayer} TYPE_* constants. May be null if there are no types
 *                          with
 *                          multiple tracks. An individual element may be null if it does not have multiple
 *                          tracks.
 * @param renderers         Renderers indexed by {@link MediaPlayer} TYPE_* constants. An individual
 *                          element may be null if there do not exist tracks of the corresponding type.
 * @param bandwidthMeter    Provides an estimate of the currently available bandwidth. May be null.
 */
/* package */ void onRenderers(String[][] trackNames,
                               MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers,
                               BandwidthMeter bandwidthMeter) {
  // Normalize the results.
  if (trackNames == null) {
    trackNames = new String[RENDERER_COUNT][];
  }
  if (multiTrackSources == null) {
    multiTrackSources = new MultiTrackChunkSource[RENDERER_COUNT];
  }
  for (int rendererIndex = 0; rendererIndex < RENDERER_COUNT; rendererIndex++) {
    if (renderers[rendererIndex] == null) {
      // Convert a null renderer to a dummy renderer.
      renderers[rendererIndex] = new DummyTrackRenderer();
    }
    if (trackNames[rendererIndex] == null) {
      // Convert a null trackNames to an array of suitable length.
      int trackCount = multiTrackSources[rendererIndex] != null
          ? multiTrackSources[rendererIndex].getTrackCount()
          : 1;
      trackNames[rendererIndex] = new String[trackCount];
    }
  }
  // Complete preparation.
  this.trackNames = trackNames;
  this.videoRenderer = renderers[TYPE_VIDEO];
  this.codecCounters = videoRenderer instanceof MediaCodecTrackRenderer
      ? ((MediaCodecTrackRenderer) videoRenderer).codecCounters
      : renderers[TYPE_AUDIO] instanceof MediaCodecTrackRenderer
      ? ((MediaCodecTrackRenderer) renderers[TYPE_AUDIO]).codecCounters
      : null;
  this.multiTrackSources = multiTrackSources;
  this.bandwidthMeter = bandwidthMeter;
  pushSurface(false);
  pushTrackSelection(TYPE_VIDEO, true);
  pushTrackSelection(TYPE_AUDIO, true);
  pushTrackSelection(TYPE_TEXT, true);
  player.prepare(renderers);
  rendererBuildingState = RENDERER_BUILDING_STATE_BUILT;
}
 
开发者ID:XueyanLiu,项目名称:miku,代码行数:57,代码来源:MediaPlayer.java


注:本文中的com.google.android.exoplayer.chunk.MultiTrackChunkSource类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。