在ExoPlayer中检测暂停/继续 [英] Detect pause/resume in ExoPlayer
问题描述
我在 github 中搜索了两个问题,但我找不到真正的答案.我想要检测ExoPlayer > 2.x
中的pause / resume
的示例.
有人可以给我一个例子吗?我检查了onPlayerStateChanged
并没有解决问题.
I searched two days for this question in github but i can't find true answer . I want example for detecting pause / resume
in ExoPlayer > 2.x
.
Any one can give me an example ? I checked onPlayerStateChanged
and problem not solved .
onPlayerStateChanged : STATE_BUFFERING
onPlayerStateChanged : STATE_READY
我刚刚从onPlayerStateChanged
那里得到了这个日志,而且并非一直如此!
I just got this log from onPlayerStateChanged
and this is not called in all times !
推荐答案
您需要使用 ExoPlayer的播放状态与播放器是否暂停无关:
You need to check playWhenReady
with a Player.EventListener. The Playback states of ExoPlayer are independent from the player being paused or not:
player.addListener(new Player.DefaultEventListener() {
@Override
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
if (playWhenReady && playbackState == Player.STATE_READY) {
// media actually playing
} else if (playWhenReady) {
// might be idle (plays after prepare()),
// buffering (plays when data available)
// or ended (plays when seek away from end)
} else {
// player paused in any state
}
}
});
要播放/暂停ExoPlayer提供的播放器
To play/pause the player ExoPlayer provides
player.setPlayWhenReady(boolean)
ExoPlayer的播放状态与媒体文件的播放状态顺序(从不停止以进行重新缓冲)在四个状态中的每个状态中一次,并且不表示播放/暂停:
The sequence of playback states with ExoPlayer with a media file which never stalls to rebuffer is once in each of the four states and does not express play/paused:
Player.STATE_IDLE;
Player.STATE_BUFFERING;
Player.STATE_READY;
Player.STATE_ENDED;
玩家每次需要缓冲的时间都会过去:
Each time the player needs to buffer it goes:
Player.STATE_READY;
Player.STATE_BUFFERING;
Player.STATE_READY;
设置playWhenReady不会影响状态.
Setting playWhenReady does not affect the state.
您的媒体实际上在播放时
All together your media is actually playing when
playWhenReady && playbackState == Player.STATE_READY
准备就绪时播放. :)
It plays when ready. :)
这篇关于在ExoPlayer中检测暂停/继续的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!