gpt4 book ai didi

java - 如何检查是否有任何应用程序在 Android 设备上播放任何类型的媒体?

转载 作者:行者123 更新时间:2023-11-29 23:07:13 25 4
gpt4 key购买 nike

我正在开发用于集成 Android TV 设备和 Smartthings Hub 的 Remote 。我希望能够检查是否有任何媒体应用程序正在设备(Android TV)上播放任何内容。例如,如果 Youtube 或 Plex 应用程序正在播放任何电影,那么我将向用户显示“正在播放”,如果没有应用程序正在播放任何内容,我将显示“已停止”

如果正在播放任何类型的媒体(音频或视频),我必须了解这一点。

我想用下面的代码来使用 Android 媒体播放器,但它不起作用:

            final MediaPlayer player = new MediaPlayer();
if(player.isPlaying()) {
response.send("playing");
}
else {
response.send("stopped");
}

我不确定这个实例是否会附加到 Activity 的媒体播放器上,而且我找不到正确的方法。我错过了什么?

最佳答案

你应该使用 AudioManager 来获取声音,检查 documentation

AudioManager.isMusicActive();

对于视频,SurfaceFlinger进程可以知道它正在以一致的速率接收帧,但它不知道它是视频还是只是应用动画。

媒体服务器进程负责管理硬件视频解码器。它可以知道视频是否正在解码,但无法知道视频是否正在显示。如果应用程序使用自定义纯软件解码器,则不会涉及。

没有明确的方法来检测视频是否正在播放并显示在显示器上。

关于java - 如何检查是否有任何应用程序在 Android 设备上播放任何类型的媒体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56404049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com