本文整理汇总了Java中com.google.android.exoplayer2.source.LoopingMediaSource类的典型用法代码示例。如果您正苦于以下问题:Java LoopingMediaSource类的具体用法?Java LoopingMediaSource怎么用?Java LoopingMediaSource使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LoopingMediaSource类属于com.google.android.exoplayer2.source包,在下文中一共展示了LoopingMediaSource类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setupExoPlayer
import com.google.android.exoplayer2.source.LoopingMediaSource; //导入依赖的package包/类
private void setupExoPlayer() {
TrackSelection.Factory adaptiveTrackSelectionFactory =
new AdaptiveTrackSelection.Factory(new DefaultBandwidthMeter());
exoPlayer = ExoPlayerFactory.newSimpleInstance(
new DefaultRenderersFactory(this),
new DefaultTrackSelector(adaptiveTrackSelectionFactory),
new DefaultLoadControl());
pvVideoPreview.setPlayer(exoPlayer);
exoPlayer.setPlayWhenReady(true);
Uri uri = Uri.parse("asset:///sample_video.mp4");
MediaSource mediaSource = createMediaSource(this, uri);
LoopingMediaSource loopingMediaSource = new LoopingMediaSource(mediaSource);
exoPlayer.prepare(loopingMediaSource, true, false);
}
示例2: initializePlayer
import com.google.android.exoplayer2.source.LoopingMediaSource; //导入依赖的package包/类
private void initializePlayer() {
if (player == null) {
TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveVideoTrackSelection.Factory(BANDWIDTH_METER);
trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
player = ExoPlayerFactory.newSimpleInstance(getContext(), trackSelector, new DefaultLoadControl());
player.addListener(this);
exoPlayerView.setPlayer(player);
if (isTimelineStatic) {
if (playerPosition == C.TIME_UNSET) {
player.seekToDefaultPosition(playerWindow);
} else {
player.seekTo(playerWindow, playerPosition);
}
}
audioBecomingNoisyReceiver.setListener(this);
setPlayWhenReady(!isPaused);
playerNeedsSource = true;
}
if (playerNeedsSource && srcUri != null) {
MediaSource mediaSource = buildMediaSource(srcUri, extension);
mediaSource = repeat ? new LoopingMediaSource(mediaSource) : mediaSource;
player.prepare(mediaSource, !shouldRestorePosition, true);
playerNeedsSource = false;
eventEmitter.loadStart();
loadVideoStarted = true;
}
}
示例3: getMediaSource
import com.google.android.exoplayer2.source.LoopingMediaSource; //导入依赖的package包/类
/***
* 获取视频数据源
* @return the media source
*/
MediaSource getMediaSource() {
if (loopingCount > 0) {
return new LoopingMediaSource(mediaSource, loopingCount);
}
return mediaSource;
}
示例4: buildRepeatOneMediaSource
import com.google.android.exoplayer2.source.LoopingMediaSource; //导入依赖的package包/类
private MediaSource buildRepeatOneMediaSource(DataSource.Factory srcFactory,
ExtractorsFactory extFactory) {
if (mQueue.isEmpty()) {
// We need to return an empty MediaSource (can't be null), so return a
// ConcatenatingMediaSource with nothing to concatenate
return new ConcatenatingMediaSource();
}
Uri uri = mQueue.get(mQueueIndex).getLocation();
MediaSource source = new ExtractorMediaSource(uri, srcFactory, extFactory, null, null);
return new LoopingMediaSource(source);
}
示例5: buildRepeatAllMediaSource
import com.google.android.exoplayer2.source.LoopingMediaSource; //导入依赖的package包/类
private MediaSource buildRepeatAllMediaSource(DataSource.Factory sourceFactory,
ExtractorsFactory extractorsFactory) {
MediaSource queue = buildNoRepeatMediaSource(sourceFactory, extractorsFactory);
return new LoopingMediaSource(queue);
}
示例6: CreateLoopSource
import com.google.android.exoplayer2.source.LoopingMediaSource; //导入依赖的package包/类
/**
* Creates a loop source. The child source will be played multiple times.
*Pass -1 to play it indefinitely.
*/
public Object CreateLoopSource (Object Source, int Count) {
return new LoopingMediaSource((MediaSource) Source, Count > 0 ? Count : Integer.MAX_VALUE);
}