shadowrocket安装下载

小火箭2周前Shadowrocket13

全网最佳IP代理服务商- 9.9元开通-稳定的代理服务
如果您从事外贸、海外视频博主、海外推广、海外广告投放,欢迎选择我们。
让您轻易使用国外主流的聊天软件、视频网站以及社交网络等等

  在此 Codelab 中,您将学习如何修改现有 Android 视频应用,使其可在支持 Google Cast的设备上投放内容。

  Google Cast 可让用户将移动设备上的内容投射到电视上。然后,用户可以将其移动设备用作遥控器,来控制电视上的媒体播放。

  借助 Google Cast SDK,您可以扩展应用以控制电视或音响系统。使用 Cast SDK,您可以基于Google Cast 设计核对清单添加必需的界面组件。

  Google Cast 设计核对清单用于在所有支持的平台上实现简单、可预测的 Cast 用户体验。

  如果您所在位置的 Wi-Fi 网络不稳定,您可以使用一根 OTG 线将移动设备连接到路由器上。此外,您还可以使用适用于Chromecast或Chromecast(支持 Google TV)的以太网适配器连接 Chromecast 设备。

  首先,我们来看看完成后的示例应用的外观。该应用是一个基础视频播放器。用户可以从列表中选择一个视频,然后在设备上本地播放该视频,或者将该视频投射到 Google Cast 设备上。

  下载代码后,请按照以下说明操作,在Android Studio中打开并运行完成后的示例应用:

  在您的 Android 设备上启用 USB 调试 - 在搭载 Android 4.2 及更高版本的设备上,“开发者选项”屏幕默认处于隐藏状态。如需显示开发者选项,请依次转到设置>

  关于手机,然后点按build 号七次。返回上一屏幕,转到系统>

  高级,点按底部附近的开发者选项,然后点按USB 调试将其开启。

  点击迷你控制器中的暂停按钮以在接收设备上暂停视频。点击迷你控制器中的播放按钮以继续播放视频。

  我们需要在您下载的入门级应用中添加 Google Cast 支持。下面是一些我们会在此 Codelab 中使用的 Google Cast 术语:

  该应用从远程网络服务器中提取视频列表,并提供列表供用户浏览。用户可以选择视频查看相关详情,也可以在移动设备上本地播放视频。

  MediaItem对象会为视频及其关联的元数据建模,例如视频的标题、说明、视频流的网址、支持图片的网址以及关联的用于字幕的文字轨道(如有)。由于MediaItem对象会在 activity 之间传递,因此MediaItem拥有相关实用程序方法,可将其转换为Bundle,反之亦然。

  此 activity 托管了一个VideoView、一些媒体控件以及一个用于显示所选视频的说明的文本区域。播放器位于屏幕顶部区域,从而在下方为视频的详细说明留出空间。用户可以播放/暂停视频或者跳转到视频的本地播放位置。

  由于我们使用的是AppCompatActivity,因此需要 AppCompat 支持库。为了管理视频列表并异步获取视频列表的图片,我们将使用Volley库。

  支持 Cast 的应用会在其每个 Activity 中显示“投射”按钮。点击“投射”按钮会显示用户可以选择的 Cast 设备列表。如果用户正在发送设备上本地播放内容,则选择 Cast 设备即会在相应 Cast 设备上开始播放或继续播放。在 Cast 会话期间,用户随时可以点击“投射”按钮,停止将应用投射到 Cast 设备。如Google Cast 设计核对清单中所述,在应用的任何 activity 中,必须让用户能够连接到 Cast 设备,或断开与 Cast 设备的连接。

  您必须实现OptionsProvider接口,以提供初始化CastContext单例所需的CastOptions。最重要的选项是接收设备应用 ID,该 ID 用于过滤 Cast 设备发现结果,以及在 Cast 会话启动时启动接收设备应用。

  您在开发自己的支持 Cast 的应用时,必须注册为 Cast 开发者,然后为您的应用获取应用 ID。在此 Codelab 中,我们将使用一个示例应用 ID。

  现在,CastContext已初始化,接下来需要添加“投射”按钮,以便用户选择 Cast 设备。“投屏”按钮通过MediaRouter支持库中的MediaRouteButton实现。与您可以向 activity 中添加的任何操作图标一样(使用ActionBar或Toolbar),您首先需要向菜单中添加相应的菜单项。

  按钮以在移动设备上运行应用。您应该会在应用的操作栏中看到“投射”按钮,而且当您点击该按钮时,它会列出连接到您本地网络的 Cast 设备。设备发现由自动管理。选择您的 Cast 设备,然后示例接收设备应用便会在 Cast 设备上加载。您可以在浏览 Activity 和本地播放器 Activity 之间导航,而且“投射”按钮状态会保持同步。

  我们尚未挂接任何对媒体播放的支持,因此您目前还无法在 Cast 设备上播放视频。点击“投射”按钮断开连接。

  我们将扩展示例应用,以便还可以在 Cast 设备上远程播放视频。为此,我们需要监听 Cast 框架生成的各种事件。

  我们已经在上一部分中完成了第 2 步。借助 Cast 框架可以轻松执行第 3 步。第 1 步是将一个对象映射到另一个对象;MediaInfo是 Cast 框架理解的内容,MediaItem是应用对媒体内容的封装;我们可以轻松将MediaItem映射到MediaInfo。

  示例应用LocalPlayerActivity已可以通过使用以下枚举来区分本地播放与远程播放:

  在此 Codelab 中,您无需准确了解所有示例播放器逻辑的运作方式。但请务必了解,您必须修改应用的媒体播放器,才能让其以类似的方式感知这两个播放位置。

  目前,本地播放器始终处于本地播放状态,因为它还不知道任何关于投射状态的信息。我们需要根据 Cast 框架中发生的状态转换来更新界面。例如,如果我们开始投射,则需要停止本地播放并停用一些控件。同样,如果我们在处于此 Activity 中时停止投射,则需要转换为本地播放。为处理此情况,我们需要监听 Cast 框架生成的各种事件。

  对于 Cast 框架,Cast 会话包含以下步骤:连接到设备、启动(或加入)、连接到接收设备应用以及初始化媒体控制通道(如果适用)。媒体控制通道是指 Cast 框架从接收设备媒体播放器发送和接收消息的方式。

  当用户通过“投射”按钮选择设备时,Cast 会话将自动启动shadowrocket安装下载,而当用户断开连接后,会话便会自动停止。Cast SDK 还会自动处理由于网络问题而重新连接到接收设备会话的操作。

  在LocalPlayerActivityActivity 中,我们希望在与 Cast 设备连接或断开连接时收到通知,以便我们可以来回切换本地播放器。请注意,连接不仅可以被在您的移动设备上运行的应用(您的)的实例中断,还可以被在另一台移动设备上运行的应用(您的或其他)的其他实例中断。

  当前处于活跃状态的会话可通过SessionManager.getCurrentSession()访问。系统会自动创建和关闭会话,以响应用户与 Cast 对话框的互动。

  按钮以在移动设备上运行应用。连接到您的 Cast 设备,然后开始播放视频。您应该会看到视频在接收设备上播放。

  Cast 设计核对清单要求所有 Cast 应用提供会在用户离开当前内容页面时显示的迷你控制器。迷你控制器可为当前的 Cast 会话提供即时访问权限和可见提醒。

  按钮以运行应用并投射视频。接收设备上开始播放内容时,您应该会看到迷你控制器显示在每个 Activity 的底部。您可以使用迷你控制器控制远程播放。如果您在浏览 Activity 和本地播放器 Activity 之间导航,迷你控制器状态应与接收设备媒体播放状态保持同步。

  Cast SDK 提供了一个MediaNotificationService来帮助发送设备应用针对通知和锁定屏幕构建媒体控件。Gradle 会自动将该服务合并到您应用的清单中。

  在发送设备投射过程中,MediaNotificationService会在后台运行,并且会显示一个通知,其中包含有关当前投射内容的图片缩略图和元数据、播放/暂停按钮以及停止按钮。

  在初始化CastContext时,可以使用CastOptions启用通知和锁定屏幕控件。通知和锁定屏幕的媒体控件默认处于开启状态。只要通知处于启用状态,锁定屏幕功能就处于启用状态。

  按钮以在移动设备上运行应用。投射视频并离开示例应用。此时接收设备上应该会显示一条关于当前播放视频的通知。锁定您的移动设备,锁定屏幕现在应该会显示 Cast 设备上媒体播放的控件。

  Google Cast 设计核对清单要求发送设备应用为现有用户引入“投射”按钮,以便他们知道发送设备应用现在支持投射并且可以为初次使用 Google Cast 的用户提供帮助。

  按钮以在移动设备上运行应用,您应该会看到介绍性叠加层(如果叠加层未显示,请清除应用数据)。

  Google Cast 设计核对清单要求发送设备应用为投射的媒体提供展开的控制器。展开的控制器是迷你控制器的全屏版本。

  Cast SDK 为展开的控制器提供了一个名为ExpandedControllerActivity的微件。它是一个抽象类,您必须为该类创建子类才能添加“投射”按钮。

  首先,为展开的控制器创建一个名为expanded_controller.xml的新菜单资源文件,以提供“投射”按钮:

  按钮以在移动设备上运行应用并投放视频。您应该会看到展开的控制器。返回到视频列表,当您点击迷你控制器时,系统会再次加载展开的控制器。离开应用以查看通知。点击通知图片以加载展开的控制器。

  在发送者端,您可以指定CredentialsData来代表谁将加入会话。credentials是一个字符串,可以由用户定义,只要您的 ATV 应用可以理解即可。CredentialsData仅在启动或加入时传递给 Android TV 应用。如果您在连接时再次进行设置,系统不会将其传递给 Android TV 应用。

  您可以自定义Cast 微件,只需设置颜色、设置按钮、文本和缩略图外观的样式,以及选择要显示的按钮类型即可。

  现在,您已了解如何在 Android 设备上使用 Cast SDK 微件让视频应用支持 Cast。

  如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据Apache 2.0 许可获得了许可。有关详情,请参阅Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。

全网最佳IP代理服务商- 9.9元开通-稳定的代理服务
如果您从事外贸、海外视频博主、海外推广、海外广告投放,欢迎选择我们。
让您轻易使用国外主流的聊天软件、视频网站以及社交网络等等

相关文章

shadowrocket ssr导入失败

  虽然可以为发送者和接收者指定广告插播时间点,但建议同时为发送者和接收者指定 在网络接收器中指定,然后Android TV 接收器,以便保持一致 在不同平台上的行为  ...

shadowrocket充值了不能使用

  暗影猎手中文版其实是一款非常吸引多个年纪跨度玩家的休闲益智游戏,暗影猎手中文版进入游戏即可感受妙处,超棒的打击感,玩家们可以去通过简单的游戏操作,喜欢暗影猎手中文版的玩家,快来下载体验...

shadowrocket订阅更新超时

  央广网北京9月1日消息(记者冯烁)据中国之声《全球华语广播网》报道,根据中国互联网络信息中心的数据,截至今年6月,我国网民规模已达7.51亿,但互联网论坛社区和评论跟帖中的一些违规商业...

shadowrocket iso8

  !!! 套餐为300G,先到先用shadowrocket iso8,用完为止。节点覆盖香港、台湾、日本、新加坡、美国、韩国、越南、菲律宾、泰国、印度、德国、法国、英国、阿根廷等地。...

华为shadowrocket封ip

华为shadowrocket封ip

  据从事游戏破解、模拟器等方向的外网博主Pirate_Nation消息,《黑神话:悟空》目前没有破解版本。   他表示,由于游戏采用D加密,因此进行...

小火箭油卡充值怎么充的

  小火箭校园版历史版本大全是豌豆荚小编为你精心挑选的所有小火箭校园版旧版本下载专区,包括 小火箭校园版v1.1.8、 小火箭校园版v1.1.7、 小火箭校园版v1.1.6 等一直以来官方...