gpt4 book ai didi

android - 在 Android TV 上启用后台播放

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:04:23 30 4
gpt4 key购买 nike

当用户决定在电影中按“主页”时,我想在后台继续播放。

我按照这里的指南操作:https://developer.android.com/training/tv/playback/options.html

并编写了以下代码(有效):

@Override
public void onPause() {
super.onPause();
if (mVideoView.isPlaying())
{
// Argument equals true to notify the system that the activity
// wishes to be visible behind other translucent activities
if (! requestVisibleBehind(true)) {
// App-specific method to stop playback and release resources
// because call to requestVisibleBehind(true) failed
stopPlayback();
}
} else {
// Argument equals false because the activity is not playing
requestVisibleBehind(false);
}
}

@Override
public void onVisibleBehindCanceled() {
// App-specific method to stop playback and release resources
stopPlayback();
super.onVisibleBehindCanceled();
}

我有几个问题。我发现注释行 if (! requestVisibleBehind(true)) 不会返回想要的结果。我很困惑。

  1. 该行不应该返回一些 bool 值吗?它如何启用后台播放?使用调试器,提到“if”是成功的,它会停止播放器。不太确定发生了什么以及如何发生,所以也许有人可以向我解释。
  2. requestVisibleBehind() 已被弃用,onVisibleBehindCanceled() 也是。有没有其他选择?当我试图研究这些函数的内容时,我也惊讶地发现(requestVisibleBehind() 也是如此。

    public void onVisibleBehindCanceled() 
    {
    throw new RuntimeException("Stub!");
    }

有一次,我非常确定后台播放结果来自其他操作,但是当我注释掉前面提到的零散代码时,我没有得到想要的结果(如果我不注释它,我确实会得到) .

最佳答案

我不知道我是否理解正确你在问什么。根据谷歌,requestVisibleBehind(true) 向 android 操作系统发出请求,如果进入后台,此 Activity 应继续播放,它返回的 bool 值是您是否可以指望它可以继续播放或不(由操作系统决定)。关于 onVisibleBehindCanceled() 当应用程序由用户或操作系统完成时或者当 requestVisibleBehind 返回 false 时调用它,本质上它所做的是给你 500ms 来处理所有您的应用程序正在使用的资源,在这 500 毫秒之后,操作系统将破坏您的 Activity 以释放这些资源。所以总而言之,这些确实是负责您的应用程序继续在后台播放的人。关于弃用,请记住 android O 具有使用 PIP 的能力,所以这可能就是进行此更改的原因。

希望对你有帮助

关于android - 在 Android TV 上启用后台播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45140205/

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