本文整理汇总了Java中com.google.android.exoplayer.text.SubtitleLayout类的典型用法代码示例。如果您正苦于以下问题:Java SubtitleLayout类的具体用法?Java SubtitleLayout怎么用?Java SubtitleLayout使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SubtitleLayout类属于com.google.android.exoplayer.text包,在下文中一共展示了SubtitleLayout类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onCreateOverlayView
import com.google.android.exoplayer.text.SubtitleLayout; //导入依赖的package包/类
@Override
public View onCreateOverlayView() {
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
mSubtitleView = (SubtitleLayout) inflater.inflate(R.layout.subtitleview, null);
// Configure the subtitle view.
CaptionStyleCompat captionStyle;
float captionTextSize = getCaptionFontSize();
captionStyle = CaptionStyleCompat
.createFromCaptionStyle(mCaptioningManager.getUserStyle());
captionTextSize *= mCaptioningManager.getFontScale();
mSubtitleView.setStyle(captionStyle);
mSubtitleView.setFixedTextSize(TEXT_UNIT_PIXELS, captionTextSize);
mSubtitleView.setVisibility(View.VISIBLE);
return mSubtitleView;
}
示例2: configureSubtitleView
import com.google.android.exoplayer.text.SubtitleLayout; //导入依赖的package包/类
private void configureSubtitleView() {
CaptionStyleCompat style;
float fontScale;
if (Util.SDK_INT >= 19) {
style = getUserCaptionStyleV19();
fontScale = getUserCaptionFontScaleV19();
} else {
style = CaptionStyleCompat.DEFAULT;
fontScale = 1.0f;
}
subtitleLayout.setStyle(style);
subtitleLayout.setFractionalTextSize(SubtitleLayout.DEFAULT_TEXT_SIZE_FRACTION * fontScale);
}
示例3: configureSubtitleView
import com.google.android.exoplayer.text.SubtitleLayout; //导入依赖的package包/类
private void configureSubtitleView() {
CaptionStyleCompat style;
float fontScale;
if (Util.SDK_INT >= 19) {
style = getUserCaptionStyleV19();
fontScale = getUserCaptionFontScaleV19();
} else {
style = CaptionStyleCompat.DEFAULT;
fontScale = 1.0f;
}
subtitleLayout.setStyle(style);
subtitleLayout.setFractionalTextSize(SubtitleLayout.DEFAULT_TEXT_SIZE_FRACTION * fontScale);
}
示例4: onCreate
import com.google.android.exoplayer.text.SubtitleLayout; //导入依赖的package包/类
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_player);
View root = findViewById(R.id.root);
root.setOnTouchListener((view, motionEvent) -> {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
toggleControlsVisibility();
} else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
view.performClick();
}
return true;
});
root.setOnKeyListener((v, keyCode, event) -> !(keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_ESCAPE
|| keyCode == KeyEvent.KEYCODE_MENU) && mediaController.dispatchKeyEvent(event));
shutterView = findViewById(R.id.shutter);
videoFrame = (AspectRatioFrameLayout) findViewById(R.id.video_frame);
surfaceView = (SurfaceView) findViewById(R.id.surface_view);
surfaceView.getHolder().addCallback(this);
subtitleLayout = (SubtitleLayout) findViewById(R.id.subtitles);
mediaController = new KeyCompatibleMediaController(this);
mediaController.setAnchorView(root);
CookieHandler currentHandler = CookieHandler.getDefault();
if (currentHandler != defaultCookieManager) {
CookieHandler.setDefault(defaultCookieManager);
}
audioCapabilitiesReceiver = new AudioCapabilitiesReceiver(this, this);
audioCapabilitiesReceiver.register();
}
示例5: configureSubtitleView
import com.google.android.exoplayer.text.SubtitleLayout; //导入依赖的package包/类
private void configureSubtitleView() {
CaptionStyleCompat captionStyle;
float fontScale;
if (Util.SDK_INT >= 19) {
captionStyle = getUserCaptionStyleV19();
fontScale = getUserCaptionFontScaleV19();
} else {
captionStyle = CaptionStyleCompat.DEFAULT;
fontScale = 1.0f;
}
subtitleLayout.setStyle(captionStyle);
subtitleLayout.setFractionalTextSize(SubtitleLayout.DEFAULT_TEXT_SIZE_FRACTION * fontScale);
}
示例6: attachSurfaceViewToPlayer
import com.google.android.exoplayer.text.SubtitleLayout; //导入依赖的package包/类
@Override
public void attachSurfaceViewToPlayer() {
if (prepareWithConfigurationMode) {
LOGD(TAG, "KExoPlayer attachSurfaceViewToPlayer " + prepareWithConfigurationMode);
LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, Gravity.CENTER);
this.addView(mSurfaceView, layoutParams);
mSubtView = new com.google.android.exoplayer.text.SubtitleLayout(getContext());
this.addView(mSubtView, layoutParams);
}
}
示例7: configureSubtitleView
import com.google.android.exoplayer.text.SubtitleLayout; //导入依赖的package包/类
private void configureSubtitleView() {
CaptionStyleCompat style;
float fontScale;
if (Util.SDK_INT >= 19) {
style = getUserCaptionStyleV19();
fontScale = getUserCaptionFontScaleV19();
} else {
style = CaptionStyleCompat.DEFAULT;
fontScale = 1.0f;
}
if (mSubtView != null) {
mSubtView.setStyle(style);
mSubtView.setFractionalTextSize(SubtitleLayout.DEFAULT_TEXT_SIZE_FRACTION * fontScale);
}
}
示例8: onCreate
import com.google.android.exoplayer.text.SubtitleLayout; //导入依赖的package包/类
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO:
// setContentView(R.layout.player_activity);
setContentView(R.layout.player_activity_two);
root = findViewById(R.id.root);
root.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
toggleControlsVisibility();
} else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
view.performClick();
}
return true;
}
});
root.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_ESCAPE
|| keyCode == KeyEvent.KEYCODE_MENU) {
return false;
}
// TODO: return mediaController.dispatchKeyEvent(event);
return goatMediaController.dispatchKeyEvent(event);
}
});
shutterView = findViewById(R.id.shutter);
debugRootView = findViewById(R.id.controls_root);
videoFrame = (AspectRatioFrameLayout) findViewById(R.id.video_frame);
surfaceView = (SurfaceView) findViewById(R.id.surface_view);
surfaceView.getHolder().addCallback(this);
debugTextView = (TextView) findViewById(R.id.debug_text_view);
playerStateTextView = (TextView) findViewById(R.id.player_state_view);
subtitleLayout = (SubtitleLayout) findViewById(R.id.subtitles);
// TODO:
// mediaController = new MediaController(this);
// mediaController.setAnchorView(root);
goatMediaController = (GoatMediaController) findViewById(R.id.media_controller);
retryButton = (Button) findViewById(R.id.retry_button);
retryButton.setOnClickListener(this);
videoButton = (Button) findViewById(R.id.video_controls);
audioButton = (Button) findViewById(R.id.audio_controls);
textButton = (Button) findViewById(R.id.text_controls);
CookieHandler currentHandler = CookieHandler.getDefault();
if (currentHandler != defaultCookieManager) {
CookieHandler.setDefault(defaultCookieManager);
}
audioCapabilitiesReceiver = new AudioCapabilitiesReceiver(this, this);
audioCapabilitiesReceiver.register();
getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(this);
}
示例9: onCreate
import com.google.android.exoplayer.text.SubtitleLayout; //导入依赖的package包/类
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.player_activity);
View root = findViewById(R.id.root);
root.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
toggleControlsVisibility();
} else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
view.performClick();
}
return true;
}
});
root.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_ESCAPE
|| keyCode == KeyEvent.KEYCODE_MENU) {
return false;
}
return mediaController.dispatchKeyEvent(event);
}
});
shutterView = findViewById(R.id.shutter);
debugRootView = findViewById(R.id.controls_root);
videoFrame = (AspectRatioFrameLayout) findViewById(R.id.video_frame);
surfaceView = (SurfaceView) findViewById(R.id.surface_view);
surfaceView.getHolder().addCallback(this);
debugTextView = (TextView) findViewById(R.id.debug_text_view);
playerStateTextView = (TextView) findViewById(R.id.player_state_view);
subtitleLayout = (SubtitleLayout) findViewById(R.id.subtitles);
mediaController = new KeyCompatibleMediaController(this);
mediaController.setAnchorView(root);
retryButton = (Button) findViewById(R.id.retry_button);
retryButton.setOnClickListener(this);
videoButton = (Button) findViewById(R.id.video_controls);
audioButton = (Button) findViewById(R.id.audio_controls);
textButton = (Button) findViewById(R.id.text_controls);
CookieHandler currentHandler = CookieHandler.getDefault();
if (currentHandler != defaultCookieManager) {
CookieHandler.setDefault(defaultCookieManager);
}
audioCapabilitiesReceiver = new AudioCapabilitiesReceiver(this, this);
audioCapabilitiesReceiver.register();
}
示例10: VideoPlayerView
import com.google.android.exoplayer.text.SubtitleLayout; //导入依赖的package包/类
public VideoPlayerView(Context context, PlaybackControls controller, View root) {
mContext = context;
mediaController = controller;
shutterView = root.findViewById(R.id.shutter);
videoFrame = (AspectRatioFrameLayout) root.findViewById(R.id.video_frame);
surfaceView = (SurfaceView) root.findViewById(R.id.surface_view);
debugTextView = (TextView) root.findViewById(R.id.debug_text_view);
debugView = root.findViewById(R.id.debug_view);
statusTextView = (TextView) root.findViewById(R.id.status);
playerStateTextView = (TextView) root.findViewById(R.id.player_state_view);
subtitleLayout = (SubtitleLayout) root.findViewById(R.id.subtitles);
nextEpisodeCard = root.findViewById(R.id.next_episode_card);
episodeDetails = root.findViewById(R.id.episode_details);
episodeTitle = (TextView) root.findViewById(R.id.episode_title);
seriesTitle = (TextView) root.findViewById(R.id.series_title);
duration = (TextView) root.findViewById(R.id.duration);
ImageCardView card = (ImageCardView) root.findViewById(R.id.next_episode);
card.setFocusable(true);
card.setFocusableInTouchMode(true);
card.setInfoVisibility(View.VISIBLE);
card.setExtraVisibility(View.VISIBLE);
card.setInfoAreaBackgroundColor(context.getResources().getColor(R.color.black_900));
Point size = new Point(context.getResources().getDimensionPixelSize(R.dimen.card_width),
context.getResources().getDimensionPixelSize(R.dimen.card_height));
nextEpisode = new EpisodeCardView(context, card, size, false);
nextEpisode.getImageCardView().setCardType(BaseCardView.CARD_TYPE_INFO_OVER);
debugView.setVisibility(View.GONE);
root.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
return handleTouchEvents(view, motionEvent);
}
});
root.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
return handleKeyEvents(v, keyCode, event);
}
});
}
示例11: bindView
import com.google.android.exoplayer.text.SubtitleLayout; //导入依赖的package包/类
private void bindView(FrameLayout oldRoot) {
@SuppressLint("InflateParams")
ViewGroup root = (ViewGroup) activity.getLayoutInflater().inflate(R.layout.player_view_layout, null);
ViewGroupUtils.replaceView(oldRoot, root);
root.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
toggleControlsVisibility();
} else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
view.performClick();
}
return true;
}
});
root.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_MENU) {
return false;
}
return mediaController.dispatchKeyEvent(event);
}
});
audioCapabilitiesReceiver = new AudioCapabilitiesReceiver(activity.getApplicationContext(),
this);
shutterView = root.findViewById(R.id.shutter);
videoFrame = (AspectRatioFrameLayout) root.findViewById(R.id.video_frame);
surfaceView = (SurfaceView) root.findViewById(R.id.surface_view);
surfaceView.getHolder().addCallback(this);
subtitleLayout = (SubtitleLayout) root.findViewById(R.id.subtitles);
mediaController = new VideoControllerView(activity, false);
mediaController.setAnchorView(root);
CookieHandler currentHandler = CookieHandler.getDefault();
if (currentHandler != defaultCookieManager) {
CookieHandler.setDefault(defaultCookieManager);
}
}
示例12: prepare
import com.google.android.exoplayer.text.SubtitleLayout; //导入依赖的package包/类
private void prepare() {
if (mReadiness != KState.IDLE) {
LOGD(TAG, "Already preparing");
return;
}
mReadiness = KState.PREPARING;
boolean offline = mSourceURL.startsWith("file://");
mDrmCallback = new KPlayerExoDrmCallback(getContext(), offline);
Video video = new Video(mSourceURL, getVideoType());
final ExoplayerWrapper.RendererBuilder rendererBuilder = RendererBuilderFactory
.createRendererBuilder(getContext(), video, mDrmCallback);
mSurfaceView = new VideoSurfaceView(getContext());
LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, Gravity.CENTER);
mExoPlayer = new ExoplayerWrapper(rendererBuilder);
Surface surface = mSurfaceView.getHolder().getSurface();
if (surface != null) {
mExoPlayer.setSurface(surface);
}
mExoPlayer.setCaptionListener(this);
mExoPlayer.setMetadataListener(this);
configureSubtitleView();
mExoPlayer.addListener(this);
mExoPlayer.prepare();
mSurfaceCallback = new SurfaceHolder.Callback() {
@Override
public void surfaceCreated(SurfaceHolder holder) {
if (mExoPlayer != null && mExoPlayer.getSurface() == null) {
mExoPlayer.setSurface(holder.getSurface());
mReadiness = KState.READY;
mExoPlayer.addListener(KExoPlayer.this);
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
LOGD(TAG, "surfaceChanged(" + format + "," + width + "," + height + ")");
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
LOGD(TAG, "surfaceDestroyed");
if (mExoPlayer != null) {
mExoPlayer.blockingClearSurface();
mExoPlayer.removeListener(KExoPlayer.this);
}
}
};
mSurfaceView.getHolder().addCallback(mSurfaceCallback);
LOGD(TAG, "KExoPlaer prepareWithConfigurationMode " + prepareWithConfigurationMode);
if(!prepareWithConfigurationMode) {
this.addView(mSurfaceView, layoutParams);
mSubtView = new com.google.android.exoplayer.text.SubtitleLayout(getContext());
this.addView(mSubtView, layoutParams);
}
}