本文整理汇总了Java中com.google.android.exoplayer2.source.hls.HlsMediaSource类的典型用法代码示例。如果您正苦于以下问题:Java HlsMediaSource类的具体用法?Java HlsMediaSource怎么用?Java HlsMediaSource使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
HlsMediaSource类属于com.google.android.exoplayer2.source.hls包,在下文中一共展示了HlsMediaSource类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: buildMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
private MediaSource buildMediaSource(Uri uri, String overrideExtension) {
int type = Util.inferContentType(!TextUtils.isEmpty(overrideExtension) ? "." + overrideExtension
: uri.getLastPathSegment());
switch (type) {
case C.TYPE_SS:
return new SsMediaSource(uri, buildDataSourceFactory(false),
new DefaultSsChunkSource.Factory(mediaDataSourceFactory), mainHandler, null);
case C.TYPE_DASH:
return new DashMediaSource(uri, buildDataSourceFactory(false),
new DefaultDashChunkSource.Factory(mediaDataSourceFactory), mainHandler, null);
case C.TYPE_HLS:
return new HlsMediaSource(uri, mediaDataSourceFactory, mainHandler, null);
case C.TYPE_OTHER:
return new ExtractorMediaSource(uri, mediaDataSourceFactory, new DefaultExtractorsFactory(),
mainHandler, null);
default: {
throw new IllegalStateException("Unsupported type: " + type);
}
}
}
示例2: buildMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
private MediaSource buildMediaSource(Uri uri, String overrideExtension) {
int type = Util.inferContentType(!TextUtils.isEmpty(overrideExtension) ? "." + overrideExtension
: uri.getLastPathSegment());
switch (type) {
case C.TYPE_SS:
return new SsMediaSource(uri, buildDataSourceFactory(false),
new DefaultSsChunkSource.Factory(mediaDataSourceFactory), mainHandler, eventLogger);
case C.TYPE_DASH:
return new DashMediaSource(uri, buildDataSourceFactory(false),
new DefaultDashChunkSource.Factory(mediaDataSourceFactory), mainHandler, eventLogger);
case C.TYPE_HLS:
return new HlsMediaSource(uri, mediaDataSourceFactory, mainHandler, eventLogger);
case C.TYPE_OTHER:
return new ExtractorMediaSource(uri, mediaDataSourceFactory, new DefaultExtractorsFactory(),
mainHandler, eventLogger);
default: {
throw new IllegalStateException("Unsupported type: " + type);
}
}
}
示例3: buildMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
private MediaSource buildMediaSource(Context context, Uri uri) {
int type = getUrlType(uri.toString());
switch (type) {
case C.TYPE_SS:
return new SsMediaSource(uri, new DefaultDataSourceFactory(context, null,
new DefaultHttpDataSourceFactory(USER_AGENT, null)),
new DefaultSsChunkSource.Factory(new DefaultDataSourceFactory(context, BANDWIDTH_METER,
new DefaultHttpDataSourceFactory(USER_AGENT, BANDWIDTH_METER))), mainThreadHandler, null);
case C.TYPE_DASH:
return new DashMediaSource(uri, new DefaultDataSourceFactory(context, null,
new DefaultHttpDataSourceFactory(USER_AGENT, null)),
new DefaultDashChunkSource.Factory(new DefaultDataSourceFactory(context, BANDWIDTH_METER,
new DefaultHttpDataSourceFactory(USER_AGENT, BANDWIDTH_METER))), mainThreadHandler, null);
case C.TYPE_HLS:
return new HlsMediaSource(uri, new DefaultDataSourceFactory(context, BANDWIDTH_METER,
new DefaultHttpDataSourceFactory(USER_AGENT, BANDWIDTH_METER)), mainThreadHandler, null);
case C.TYPE_OTHER:
return new ExtractorMediaSource(uri, new DefaultDataSourceFactory(context, BANDWIDTH_METER,
new DefaultHttpDataSourceFactory(USER_AGENT, BANDWIDTH_METER)), new DefaultExtractorsFactory(),
mainThreadHandler, null);
default: {
throw new IllegalStateException("Unsupported type: " + type);
}
}
}
示例4: buildMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
private MediaSource buildMediaSource(Uri uri, String overrideExtension) {
DataSource.Factory mediaDataSourceFactory = buildDataSourceFactory(true);
int type = TextUtils.isEmpty(overrideExtension) ? Util.inferContentType(uri)
: Util.inferContentType("." + overrideExtension);
switch (type) {
case C.TYPE_SS:
return new SsMediaSource(uri, buildDataSourceFactory(false),
new DefaultSsChunkSource.Factory(mediaDataSourceFactory), mainHandler, null);
case C.TYPE_DASH:
return new DashMediaSource(uri, buildDataSourceFactory(false),
new DefaultDashChunkSource.Factory(mediaDataSourceFactory), mainHandler, null);
case C.TYPE_HLS:
return new HlsMediaSource(uri, mediaDataSourceFactory, mainHandler, null);
case C.TYPE_OTHER:
return new ExtractorMediaSource(uri, mediaDataSourceFactory, new DefaultExtractorsFactory(),
mainHandler, null);
default: {
throw new IllegalStateException("Unsupported type: " + type);
}
}
}
示例5: getMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
public MediaSource getMediaSource(boolean preview) {
switch (streamType) {
case C.TYPE_SS:
return new SsMediaSource(uri, new DefaultDataSourceFactory(context, null,
getHttpDataSourceFactory(preview)),
new DefaultSsChunkSource.Factory(getDataSourceFactory(preview)),
mainHandler, null);
case C.TYPE_DASH:
return new DashMediaSource(uri,
new DefaultDataSourceFactory(context, null,
getHttpDataSourceFactory(preview)),
new DefaultDashChunkSource.Factory(getDataSourceFactory(preview)),
mainHandler, null);
case C.TYPE_HLS:
return new HlsMediaSource(uri, getDataSourceFactory(preview), mainHandler, null);
case C.TYPE_OTHER:
return new ExtractorMediaSource(uri, getDataSourceFactory(preview),
new DefaultExtractorsFactory(), mainHandler, null);
default: {
throw new IllegalStateException("Unsupported type: " + streamType);
}
}
}
示例6: newMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
protected MediaSource newMediaSource(Context context, String url, int type, Handler handler) {
boolean hls = false;
boolean localFile = url.startsWith("file://");
if (!localFile) {
try {
hls = type == MediaId.TYPE_VIDEO || Uri.parse(url).getPath().endsWith(".m3u8");
} catch (Exception ignore) {
}
}
// expecting MP3 here ... otherwise HLS
if ((localFile || type == MediaId.TYPE_AUDIO) && !hls) {
return new ExtractorMediaSource(Uri.parse(url),
buildDataSourceFactory(context, true, !localFile),
new DefaultExtractorsFactory(),
handler,
this);
} else {
return new HlsMediaSource(Uri.parse(url),
buildDataSourceFactory(context, true, true),
handler,
this);
}
}
示例7: buildMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
private MediaSource buildMediaSource(Uri uri, String overrideExtension) {
int type = Util.inferContentType(!TextUtils.isEmpty(overrideExtension) ? "." + overrideExtension
: uri.getLastPathSegment());
switch (type) {
case C.TYPE_SS:
return new SsMediaSource(uri, buildDataSourceFactory(false),
new DefaultSsChunkSource.Factory(mMediaDataSourceFactory), mMainHandler, mEventLogger);
case C.TYPE_DASH:
return new DashMediaSource(uri, buildDataSourceFactory(false),
new DefaultDashChunkSource.Factory(mMediaDataSourceFactory), mMainHandler, mEventLogger);
case C.TYPE_HLS:
return new HlsMediaSource(uri, mMediaDataSourceFactory, mMainHandler, mEventLogger);
case C.TYPE_OTHER:
return new ExtractorMediaSource(uri, mMediaDataSourceFactory, new DefaultExtractorsFactory(),
mMainHandler, mEventLogger);
default: {
throw new IllegalStateException("Unsupported type: " + type);
}
}
}
示例8: buildMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
private MediaSource buildMediaSource(Uri uri, String overrideExtension) {
int type = Util.inferContentType(!TextUtils.isEmpty(overrideExtension) ? "." + overrideExtension
: uri.getLastPathSegment());
switch (type) {
case C.TYPE_SS:
return new SsMediaSource(uri, new DefaultDataSourceFactory(context, userAgent),
new DefaultSsChunkSource.Factory(mediaDataSourceFactory), mainHandler, eventLogger);
case C.TYPE_DASH:
return new DashMediaSource(uri, new DefaultDataSourceFactory(context, userAgent),
new DefaultDashChunkSource.Factory(mediaDataSourceFactory), mainHandler, eventLogger);
case C.TYPE_HLS:
return new HlsMediaSource(uri, mediaDataSourceFactory, mainHandler, eventLogger);
case C.TYPE_OTHER:
return new ExtractorMediaSource(uri, mediaDataSourceFactory, new DefaultExtractorsFactory(),
mainHandler, eventLogger);
default: {
throw new IllegalStateException("Unsupported type: " + type);
}
}
}
示例9: buildMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
private MediaSource buildMediaSource(Uri uri) {
int type = Util.inferContentType(uri.getLastPathSegment());
switch (type) {
case C.TYPE_SS:
return new SsMediaSource(uri, buildDataSourceFactory(false),
new DefaultSsChunkSource.Factory(mediaDataSourceFactory), new Handler(), null);
case C.TYPE_DASH:
return new DashMediaSource(uri, buildDataSourceFactory(false),
new DefaultDashChunkSource.Factory(mediaDataSourceFactory), new Handler(), null);
case C.TYPE_HLS:
return new HlsMediaSource(uri, mediaDataSourceFactory, new Handler(), null);
case C.TYPE_OTHER:
return new ExtractorMediaSource(uri, mediaDataSourceFactory, new DefaultExtractorsFactory(),
new Handler(), null);
default: {
throw new IllegalStateException("Unsupported type: " + type);
}
}
}
示例10: buildMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
private MediaSource buildMediaSource(Uri uri, String overrideExtension) {
int type = Util.inferContentType(!TextUtils.isEmpty(overrideExtension) ? "." + overrideExtension
: uri.getLastPathSegment());
switch (type) {
case C.TYPE_SS:
return new SsMediaSource(uri, buildDataSourceFactory(false),
new DefaultSsChunkSource.Factory(mediaDataSourceFactory), mainHandler, eventLogger);
case C.TYPE_DASH:
return new DashMediaSource(uri, buildDataSourceFactory(false),
new DefaultDashChunkSource.Factory(mediaDataSourceFactory), mainHandler, eventLogger);
case C.TYPE_HLS:
return new HlsMediaSource(uri, mediaDataSourceFactory, mainHandler, eventLogger);
case C.TYPE_OTHER:
return new ExtractorMediaSource(uri, mediaDataSourceFactory, new DefaultExtractorsFactory(),
mainHandler, eventLogger);
default: {
throw new IllegalStateException("Unsupported type: " + type);
}
}
}
示例11: createMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
@Override
public MediaSource createMediaSource(
Uri uri, @Nullable Handler handler, @Nullable MediaSourceEventListener listener) {
@ContentType int type = Util.inferContentType(uri);
switch (type) {
case C.TYPE_DASH:
return new DashMediaSource.Factory(
new DefaultDashChunkSource.Factory(mediaDataSourceFactory),
manifestDataSourceFactory)
.createMediaSource(uri, handler, listener);
case C.TYPE_HLS:
return new HlsMediaSource.Factory(mediaDataSourceFactory)
.createMediaSource(uri, handler, listener);
case C.TYPE_OTHER:
return new ExtractorMediaSource.Factory(mediaDataSourceFactory)
.createMediaSource(uri, handler, listener);
case C.TYPE_SS:
default:
throw new IllegalStateException("Unsupported type: " + type);
}
}
示例12: initMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
@Override
public MediaSource initMediaSource(Uri uri) {
int streamType = VideoPlayUtils.inferContentType(uri);
switch (streamType) {
case C.TYPE_SS:
return new SsMediaSource.Factory(new DefaultSsChunkSource.Factory(getDataSource()), new DefaultDataSourceFactory(context, null,
getDataSource()))
.setMinLoadableRetryCount(5)
.createMediaSource(uri,mainHandler,sourceEventListener);
case C.TYPE_DASH:
return new DashMediaSource.Factory(new DefaultDashChunkSource.Factory(getDataSource())
,new DefaultDataSourceFactory(context, null, getDataSource()))
.setMinLoadableRetryCount(5)
.createMediaSource(uri, mainHandler, sourceEventListener);
case C.TYPE_OTHER:
return new ExtractorMediaSource.Factory( getDataSource())
.setExtractorsFactory( new DefaultExtractorsFactory())
.setMinLoadableRetryCount(5)
.setCustomCacheKey(uri.getPath())
.createMediaSource(uri,mainHandler,null);
case C.TYPE_HLS:
return new HlsMediaSource.Factory(new DefaultHlsDataSourceFactory( getDataSource()))
.setMinLoadableRetryCount(5)
.createMediaSource(uri, mainHandler, sourceEventListener);
default:
throw new IllegalStateException(":Unsupported type: " + streamType);
}
}
示例13: buildMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
private MediaSource buildMediaSource(Uri uri) {
return new HlsMediaSource(
uri,
dataSourceFactory,
mainHandler,
this
);
}
示例14: play
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
private void play() {
Timber.d("play: %s", currentChannel.getName());
isPlaying = true;
progressView.setVisibility(View.VISIBLE);
Uri videoUri = Uri.parse(currentChannel.getStreamUrl());
MediaSource videoSource = new HlsMediaSource(videoUri, dataSourceFactory, playHandler, videoErrorHandler);
player.prepare(videoSource);
player.setPlayWhenReady(true);
}
示例15: getMediaSource
import com.google.android.exoplayer2.source.hls.HlsMediaSource; //导入依赖的package包/类
private MediaSource getMediaSource(boolean preview) {
Uri contentUri = Uri.parse(mDataSource);
int contentType = inferContentType(mDataSource);
switch (contentType) {
case C.TYPE_SS:
return new SsMediaSource(contentUri, new DefaultDataSourceFactory(mAppContext, null,
getHttpDataSourceFactory(preview)),
new DefaultSsChunkSource.Factory(getDataSourceFactory(preview)),
mainHandler, null);
case C.TYPE_DASH:
return new DashMediaSource(contentUri,
new DefaultDataSourceFactory(mAppContext, null,
getHttpDataSourceFactory(preview)),
new DefaultDashChunkSource.Factory(getDataSourceFactory(preview)),
mainHandler, null);
case C.TYPE_HLS:
return new HlsMediaSource(contentUri, getDataSourceFactory(preview), mainHandler, null);
case TYPE_RTMP:
RtmpDataSourceFactory rtmpDataSourceFactory = new RtmpDataSourceFactory(null);
return new ExtractorMediaSource(contentUri, rtmpDataSourceFactory,
new DefaultExtractorsFactory(), mainHandler, null);
case C.TYPE_OTHER:
default:
return new ExtractorMediaSource(contentUri, getDataSourceFactory(preview),
new DefaultExtractorsFactory(), mainHandler, null);
}
}