再生中にシークバーを動かした時に「バッファ中です」表示

This commit is contained in:
tateisu 2017-12-22 15:11:02 +09:00
parent ade5a4acc8
commit 1f935aa5e7
5 changed files with 56 additions and 49 deletions

View File

@ -10,8 +10,8 @@ android {
applicationId "jp.juggler.subwaytooter"
minSdkVersion 21
targetSdkVersion 26
versionCode 187
versionName "1.8.7"
versionCode 188
versionName "1.8.8"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

View File

@ -78,7 +78,6 @@ public class ActMediaViewer extends AppCompatActivity implements View.OnClickLis
return new TootAttachment.List();
}
public static void open( @NonNull ActMain activity, @NonNull TootAttachment.List list, int idx ){
Intent intent = new Intent( activity, ActMediaViewer.class );
intent.putExtra( EXTRA_IDX, idx );
@ -122,7 +121,7 @@ public class ActMediaViewer extends AppCompatActivity implements View.OnClickLis
exoPlayer.release();
exoPlayer = null;
}
PinchBitmapView pbvImage;
View btnPrevious;
View btnNext;
@ -165,48 +164,9 @@ public class ActMediaViewer extends AppCompatActivity implements View.OnClickLis
} );
exoPlayer = ExoPlayerFactory.newSimpleInstance( this, new DefaultTrackSelector() );
exoPlayer.addListener( player_listener );
exoView.setPlayer( exoPlayer );
exoPlayer.addListener( new Player.EventListener() {
@Override public void onTimelineChanged( Timeline timeline, Object manifest ){
log.d( "exoPlayer onTimelineChanged" );
}
@Override
public void onTracksChanged( TrackGroupArray trackGroups, TrackSelectionArray trackSelections ){
log.d( "exoPlayer onTracksChanged" );
}
@Override public void onLoadingChanged( boolean isLoading ){
log.d( "exoPlayer onLoadingChanged" );
}
@Override public void onPlayerStateChanged( boolean playWhenReady, int playbackState ){
log.d( "exoPlayer onPlayerStateChanged %s %s", playWhenReady, playbackState );
}
@Override public void onRepeatModeChanged( int repeatMode ){
log.d( "exoPlayer onRepeatModeChanged %d", repeatMode );
}
@Override public void onPlayerError( ExoPlaybackException error ){
log.d( "exoPlayer onPlayerError" );
Utils.showToast( ActMediaViewer.this, error, "player error." );
}
@Override public void onPositionDiscontinuity(){
log.d( "exoPlayer onPositionDiscontinuity" );
}
@Override
public void onPlaybackParametersChanged( PlaybackParameters playbackParameters ){
log.d( "exoPlayer onPlaybackParametersChanged" );
}
} );
}
void loadDelta( int delta ){
@ -228,14 +188,14 @@ public class ActMediaViewer extends AppCompatActivity implements View.OnClickLis
|| media_list.isEmpty()
|| idx < 0
|| idx >= media_list.size()
){
showError( getString(R.string.media_attachment_empty) );
){
showError( getString( R.string.media_attachment_empty ) );
return;
}
TootAttachment ta = media_list.get( idx );
if(!TextUtils.isEmpty( ta.description )){
if( ! TextUtils.isEmpty( ta.description ) ){
svDescription.setVisibility( View.VISIBLE );
tvDescription.setText( ta.description );
}
@ -547,4 +507,48 @@ public class ActMediaViewer extends AppCompatActivity implements View.OnClickLis
} );
}
private final Player.EventListener player_listener = new Player.EventListener() {
@Override public void onTimelineChanged( Timeline timeline, Object manifest ){
log.d( "exoPlayer onTimelineChanged" );
}
@Override
public void onTracksChanged( TrackGroupArray trackGroups, TrackSelectionArray trackSelections ){
log.d( "exoPlayer onTracksChanged" );
}
@Override public void onLoadingChanged( boolean isLoading ){
// かなり頻繁に呼ばれる
// log.d( "exoPlayer onLoadingChanged %s" ,isLoading );
}
@Override public void onPlayerStateChanged( boolean playWhenReady, int playbackState ){
// かなり頻繁に呼ばれる
// log.d( "exoPlayer onPlayerStateChanged %s %s", playWhenReady, playbackState );
if( playWhenReady && playbackState == Player.STATE_BUFFERING ){
Utils.showToast( ActMediaViewer.this, false, R.string.video_buffering );
}
}
@Override public void onRepeatModeChanged( int repeatMode ){
log.d( "exoPlayer onRepeatModeChanged %d", repeatMode );
}
@Override public void onPlayerError( ExoPlaybackException error ){
log.d( "exoPlayer onPlayerError" );
Utils.showToast( ActMediaViewer.this, error, "player error." );
}
@Override public void onPositionDiscontinuity(){
log.d( "exoPlayer onPositionDiscontinuity" );
}
@Override
public void onPlaybackParametersChanged( PlaybackParameters playbackParameters ){
log.d( "exoPlayer onPlaybackParametersChanged" );
}
};
}

View File

@ -583,8 +583,9 @@
<string name="copy_url">Copy URL to clipboard</string>
<string name="media_attachment_empty">Missing media attachments.</string>
<string name="media_attachment_type_error">The type of media attachment is \"%1$s\". ST can\'t handle it, but you can try open in browser.</string>
<string name="video_buffering">Buffering…</string>
<!--<string name="abc_action_bar_home_description">Revenir à l\'accueil</string>-->
<!--<string name="abc_action_bar_home_description">Revenir à l\'accueil</string>-->
<!--<string name="abc_action_bar_home_description_format">%1$s, %2$s</string>-->
<!--<string name="abc_action_bar_home_subtitle_description_format">%1$s, %2$s, %3$s</string>-->
<!--<string name="abc_action_bar_up_description">Revenir en haut de la page</string>-->

View File

@ -870,5 +870,6 @@
<string name="copy_url">URLをクリップボードにコピー</string>
<string name="media_attachment_empty">添付メディアがありません</string>
<string name="media_attachment_type_error">添付メディアの種類\"%1$s\"はこのアプリでは開けません。下の「…」にある「ブラウザで開く」を試すことができます</string>
<string name="video_buffering">バッファ中…</string>
</resources>

View File

@ -573,4 +573,5 @@
<string name="copy_url">Copy URL to clipboard</string>
<string name="media_attachment_empty">Missing media attachments.</string>
<string name="media_attachment_type_error">The type of media attachment is \"%1$s\". ST can\'t handle it, but you can try open in browser.</string>
<string name="video_buffering">Buffering…</string>
</resources>