- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现了一些适用于 Leanback
的示例和 ExoPlayer
我有所有这些工作,但我无法让字幕/字幕工作。我能找到的最新 Google 示例 (https://github.com/android/tv-samples) 在 Java 示例上有一个标题按钮,但它们从未出现。 Kotlin 示例有一条注释,上面写着 // TODO(owahltinez): handle captions
.
我已经尝试对其中一个示例进行这些更改,但没有帮助:
private void prepareMediaForPlaying(Uri mediaSourceUri) {
String userAgent = Util.getUserAgent(getActivity(), "VideoPlayerGlue");
DefaultDataSourceFactory defaultDataSourceFactory = new DefaultDataSourceFactory(getActivity(), userAgent);
MediaSource mediaSource =
new ExtractorMediaSource(
mediaSourceUri,
defaultDataSourceFactory,
new DefaultExtractorsFactory(),
null,
null);
String subtitle = "https://subtitledomain/sintel-en.vtt";
Uri uriSubtitle = Uri.parse(subtitle);
MediaSource subtitleMediaSource = new SingleSampleMediaSource.Factory(defaultDataSourceFactory)
.createMediaSource(uriSubtitle, Format.createTextSampleFormat(null, MimeTypes.TEXT_VTT, C.SELECTION_FLAG_FORCED, "n/a"), C.TIME_UNSET);
mediaSource = new MergingMediaSource(mediaSource, subtitleMediaSource);
mPlayer.prepare(mediaSource);
}
mTrackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
DefaultTrackSelector.Parameters parameters = mTrackSelector.getParameters();
mTrackSelector.setParameters(parameters.withSelectUndeterminedTextLanguage(true));
EN
这并没有帮助。
Leanback
代码和刚刚离开
ExoPlayer
未动过和使用过的东西
com.google.android.exoplayer2.ui.PlayerView
在我的
Fragment
而不是
VideoFragment
和字幕工作没有做任何其他改变。所以就像我只需要在
Leanback
上启用它们一样一边不知何故。
最佳答案
要使字幕正常工作,您需要覆盖 lb_playback_fragment.xml 并添加一个 SubtitleView。
应用程序/src/main/res/layout/lb_playback_fragment.xml
<?xml version="1.0" encoding="utf-8"?>
<!--
Copied from android source so that we can add the subtitle view
-->
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/playback_fragment_root"
android:layout_width="match_parent"
android:transitionGroup="false"
android:layout_height="match_parent">
<androidx.leanback.widget.NonOverlappingFrameLayout
android:id="@+id/playback_fragment_background"
android:transitionGroup="false"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<androidx.leanback.widget.NonOverlappingFrameLayout
android:id="@+id/playback_controls_dock"
android:transitionGroup="true"
android:layout_height="match_parent"
android:layout_width="match_parent"/>
<com.google.android.exoplayer2.ui.AspectRatioFrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center">
<com.google.android.exoplayer2.ui.SubtitleView
android:id="@+id/leanback_subtitles"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.google.android.exoplayer2.ui.AspectRatioFrameLayout>
</FrameLayout>
完成此操作后,您可以设置 DefaultTrackSelector 来选择所需的文本轨道。
关于android - 是否有使用字幕的 ExoPlayer + Leanback 库示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59131346/
我是 Android TV 开发的新手。我不知道要使用哪种类型的 fragment 。我想要两个实现布局类似于上面的屏幕截图作为 jiocinema。我以某种方式在 Activity 布局中使用两个
当使用 Leanback 和 exoplayer 实现 firetv 应用程序时,我使用了 exoplayer 提供的 LeanbackPlayerAdapter。我还使用了扩展 PlaybackTr
大家好,我正在开发应用程序,我的布局结构如下: RelativeLayout: CompoundView: CompoundView: RelativeLayout
我想要透明的 PlaybackControlsRow 背景而不是颜色 我已经尝试将背景颜色设置为 #00000000 但它显示一些灰色背景。在下图中,我想要透明色而不是绿色。 最佳答案 您应该能够通过
我正在使用 Leanback 支持库构建一个 Android TV 应用程序 PageRow 我几乎在关注 leanback-showcase 同一个应用程序在做什么 here ,但我想知道是否可以在
我正在开发一款 Android TV 应用。默认情况下,它使用 Leanback 主题。当应用程序在设备上运行时,没有状态栏,显然是因为它是一台电视。然而,在 Android Studio 中的渲染屏
实际上,我正在为 Android TV 开发一个应用程序。我使用来自 leanback 支持库 v17 的 BrowseFragment 来按子菜单导航。但是,现在我正在尝试构建家庭 Activity
所以我正在构建一个可在基于 Android 的流媒体上运行的靠背启动器应用程序。 为了构建自定义启动器,我阅读了 Google 的所有规范。 现在,为了让它成为一个启动器,我需要该应用程序作为 str
我想在 Activity 中使用 BrowseFragment 以及另一个 fragment 。另一个 fragment 的目的是有一个 ListView ,在每个选定的项目上,BrowseFragm
作为为 Android TV 开发自定义启动器应用程序的一部分,我必须根据设备中已安装的应用程序列表显示应用程序列表侧屏幕。 要打开设备上的通知屏幕,有一个简单的操作:“com.android.tv.
[环境] Android Studio 1.1.0 buildToolsVersion "21.1.2" 当我构建“androidtv-Leanback-master”时遇到了这个错误: Execut
我正在为电视构建 android 应用程序并将主题设置为 Theme.Leanback 在 android-support-v17-leanback.jar 支持库中定义。但是当我构建我的应用程序时出
我正在使用 VerticalGridFragment 以类似网格的布局显示项目我不需要显示搜索或标题,我希望行从屏幕顶部开始,没有任何边距。有什么帮助吗? 最佳答案 我找到了一种方法,方法是覆盖 Ve
我有一个使用 DetailsOverviewRow 和 FullWidthDetailsOverviewRowPresenter 的细节 fragment 。当页面首次加载时,将选择操作按钮。当我按下
我有一个非常基本的任务:使用 Leanback 框架和 Exoplayer 实现 HLS 视频流。 我使用一个简单的单 fragment 布局: 显然,VideoFragment 带有
我正在使用 Leanback 库,我想知道如何创建多个自定义行 View 。要连续创建不同的项目,您需要扩展 PresenterSelector 我尝试对 ListRowPresenter 执行相同的
我发现了一些适用于 Leanback 的示例和 ExoPlayer我有所有这些工作,但我无法让字幕/字幕工作。我能找到的最新 Google 示例 (https://github.com/android
我从 android studio 添加了一个leanback 示例 Activity 。 Activity 因以下堆栈跟踪而崩溃。我没有修改代码,我看到默认添加的所有布局都定义了 layout_wi
我们正在尝试使用架构组件分页库在 Leanback VerticalGridSupportFragment 中实现分页。 Leanback 本身与分页库没有任何开箱即用的兼容性,因此我们扩展了它的 O
我正在开发一个播放视频的 Android TV 应用,并使用 PlaybackSupportFragment 来实现屏幕控件。然而,我无法完全隐藏次要操作(竖起大拇指、竖起大拇指、重复……)。实际上我
我是一名优秀的程序员,十分优秀!