use*_*215 19 android exoplayer
我试图以播放列表的形式一个接一个地播放视频.我正在使用Android Exoplayer来播放我的文件,但是没有像媒体播放器那样的听众能够收听媒体文件的结尾.请告诉我一个方法使用exoplayer .thankyou听媒体文件的结尾..
Joe*_*her 33
我知道这是旧的,但只是为了扩展已接受的答案:
exoPlayer.addListener(this);
.....
@Override
public void onPlayerStateChanged(boolean playWhenReady, int state) {
if (state == ExoPlayer.STATE_ENDED){
//player back ended
}
}
Run Code Online (Sandbox Code Playgroud)
Mur*_*ain 27
Exoplayer提供媒体播放器没有的高级实现.
在Android 的Exoplayer的例子中,在FullPlayerActivity.java中他们实现了onStateChanged,它提供了STATE_ENDED
您可以在术语" 相关样本"下的本页右侧部分下载示例
Mor*_*Koh 11
Google已弃用ExoPlayer.STATE_ENDED并替换为Player.STATE_ENDED。
由于这篇文章已经有一段时间了,因此我将Kotlin在下面写下一个侦听器的版本。
this.simpleExoPlayer?.addListener(object : Player.DefaultEventListener() {
override fun onPlayerStateChanged(playWhenReady: Boolean,playbackState: Int) {
when (playbackState) {
Player.STATE_IDLE -> {}
Player.STATE_BUFFERING -> {}
Player.STATE_READY -> {}
Player.STATE_ENDED -> {}
}
}
})
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
playerExo.addListener(new ExoPlayer.Listener() {
@Override
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
switch(playbackState) {
case ExoPlayer.STATE_BUFFERING:
break;
case ExoPlayer.STATE_ENDED:
//do what you want
break;
case ExoPlayer.STATE_IDLE:
break;
case ExoPlayer.STATE_PREPARING:
break;
case ExoPlayer.STATE_READY:
break;
default:
break;
}
}
@Override
public void onPlayWhenReadyCommitted() {
}
@Override
public void onPlayerError(ExoPlaybackException error) {
}
});
playerExo.seekTo(0);
playerExo.setPlayWhenReady(true);
Run Code Online (Sandbox Code Playgroud)
但@Murtaza Khursheed Hussain的回答是对的!有一个很好的代码日!如果您需要别的东西,请告诉我!
您必须实现Player.EventLister接口并将其添加到exoPlayer中。
只需在onPlayerStateChanged方法上编写代码。参见代码。
exoPlayer.addListener( new Player.EventListener() {
@Override
public void onTimelineChanged(Timeline timeline, @Nullable Object manifest, int reason) {
}
@Override
public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {
}
@Override
public void onLoadingChanged(boolean isLoading) {
}
@Override
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
switch(playbackState) {
case Player.STATE_BUFFERING:
break;
case Player.STATE_ENDED:
//Here you do what you want
break;
case Player.STATE_IDLE:
break;
case Player.STATE_READY:
break;
default:
break;
}
}
@Override
public void onRepeatModeChanged(int repeatMode) {
}
@Override
public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) {
}
@Override
public void onPlayerError(ExoPlaybackException error) {
}
@Override
public void onPositionDiscontinuity(int reason) {
}
@Override
public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) {
}
@Override
public void onSeekProcessed() {
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18063 次 |
| 最近记录: |