Android:默认禁用 MediaRouteButton
Posted
技术标签:
【中文标题】Android:默认禁用 MediaRouteButton【英文标题】:Android: MediaRouteButton is disabled by default 【发布时间】:2021-04-17 09:02:21 【问题描述】:我正在尝试使用 MediaRouteButton 和 exoPlayer 实现投射到电视的功能。我对 MediaRouteButton 有一个奇怪的问题,我只是按照tutorial 将 MediaRouteButton 实现为视图而不是菜单的一部分。这是我到目前为止所做的,但在运行应用程序后,MediaRouteButton 被禁用。
这是布局:
<androidx.mediarouter.app.MediaRouteButton
android:id="@+id/media_route_button"
android:layout_
android:layout_
android:layout_weight="1"
android:mediaRouteTypes="user"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
/>
这是活动中的 kotlin 代码:
class TestActivity : AppCompatActivity()
//var APP_ID = "4F8B3483"
var mMediaRouteButton: MediaRouteButton? = null
override fun onCreate(savedInstanceState: Bundle?)
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_test)
mMediaRouteButton = findViewById(R.id.media_route_button);
CastContext.getSharedInstance(this);
CastButtonFactory.setUpMediaRouteButton(this, mMediaRouteButton);
有什么建议吗?
【问题讨论】:
这有什么更新吗?这是固定的吗? 【参考方案1】: 当您的设备和投射设备连接到同一网络时,MediaRouteButton 将在屏幕上对您可见。
【讨论】:
嗨Wahdat,谢谢你的回答,他们已经连接到同一个网络,活动正在扩展AppCompayActivity,正如它在android官方网站上所建议的那样,几乎所有的教程都有相同的方法,但仍然找不到解决办法。 MediaRouteButton 显示但不工作(已禁用)。【参考方案2】:您可以先尝试使用默认的媒体接收器ID:
CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID,查看您的代码是否有效。如果一切正常,按钮将可见并启用。如果仍然不可见,请尝试添加:
castContext.addCastStateListener state: Int -> - 并基于回调手动显示/隐藏 MediaRouteButton。【讨论】:
以上是关于Android:默认禁用 MediaRouteButton的主要内容,如果未能解决你的问题,请参考以下文章
如何禁用log press cordova android的默认行为
在android上的html5视频标签中禁用默认的丑陋海报图像
我可以在使用 android studio 开发应用程序时禁用 android 默认摄像头(后置和前置)吗
电容器 - 从科尔多瓦迁移后,默认情况下在 Android 上禁用浮动通知