gpt4 book ai didi

android - exoplayer setPlayWhenReady() 为什么不工作?

转载 作者:行者123 更新时间:2023-12-04 15:39:42 26 4
gpt4 key购买 nike

我用这个ExoPlayer demo用于播放音频流。我修改了播放带有通知的音频的代码。为此,我将 Exoplayer 代码放在服务类中,但暂停方法不起作用不知道会发生什么,但 setPlayWhenReady(false) 在服务中不起作用。检查此修改 source code

最佳答案

那是因为每次你 setPlayWhenReady(false) 时,ExoPlayer Listener 的 onPlayerStateChanged 方法被调用并且你在监听器中设置 setPlayWhenReady(true) 。所以这就是你需要做的:1. 在您的服务中定义一个字段:

boolean isPreparing;

2。在初始化 ExoPlayer 之前设置 isPreparing = true :

isPreparing = true;
player.prepare(...);

3。在 ExoPlayer Listener 的 onPlayerStateChanged 方法中:

@Override
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
if(isPreparing && playbackState == ExoPlayer.STATE_READY){
// do whatever you want
isPreparing = false;
}
}

就是这样。

关于android - exoplayer setPlayWhenReady() 为什么不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58245851/

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