2

我已经开始研究 Android 智能电视。我必须制作一个 TvView,我知道 Leanback 是唯一一个库,它为我们提供了很多与 Android Smart Tv 一起使用的东西。最后一天,我尝试使用 TvView 来执行频道流式传输。我已经包含了 android-support-Leanback17 。但我仍然收到错误,找不到类定义。任何帮助将不胜感激 。我只想知道哪个库支持这个 TvView。提前致谢

这是我的 LogCat

  11-27 09:25:10.684: E/AndroidRuntime(16203): FATAL EXCEPTION: main
  11-27 09:25:10.684: E/AndroidRuntime(16203): java.lang.NoClassDefFoundError:    android.media.tv.TvView
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at    com.example.tvtest.MainActivity.onCreate(MainActivity.java:25)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at android.app.Activity.performCreate(Activity.java:5104)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at android.os.Handler.dispatchMessage(Handler.java:99)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at android.os.Looper.loop(Looper.java:137)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at android.app.ActivityThread.main(ActivityThread.java:5041)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at java.lang.reflect.Method.invokeNative(Native Method)
   11-27 09:25:10.684: E/AndroidRuntime(16203):     at java.lang.reflect.Method.invoke(Method.java:511)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:596)
  11-27 09:25:10.684: E/AndroidRuntime(16203):  at dalvik.system.NativeStart.main(Native Method)
4

3 回答 3

4

我假设您希望允许用户观看内容,如果是这样,您实际上不会实现 TVView。Google 提供了“直播频道”应用程序,该应用程序将显示通过 TVInputFramework 提供的频道。在安装实现 TVInputFramework 的应用程序之前,此应用程序将被隐藏。

谷歌现在发布了一个实现 TVInputFramework 的示例应用程序,它将发布可以在 Live Channels 应用程序中观看的频道。

概述 TVInputFramework 的文档:http: //developer.android.com/training/tv/tif/index.html

我希望这至少可以为您指明正确的方向,即使它没有直接回答您的问题。

于 2015-02-20T21:55:10.183 回答
0

我建议每个人都为 Android TvView 使用这个 Google 示例或实现:

https://android.googlesource.com/platform/packages/apps/TV/

于 2019-10-30T12:20:27.693 回答
0

可以像这样将 TVVIEw 组件添加到您的应用程序中

> <android.media.tv.TvView
>             android:id="@+id/dtv_view"
>             android:layout_width="match_parent"
>             android:layout_height="match_parent"
>             android:visibility="visible" />

并且可以使用以下代码调整到特定的频道

String channelUrl="content://android.media.tv/channel/"+channelNumber;
mTvView.tune(mInputId, Uri.parse(channelUrl));

输入 ID 在 TV 数据库中可用(指来自哪个源频道)。

如果您将这些信息传递给 tvview,它将开始播放。

于 2020-07-07T13:20:08.553 回答