add error handling to video player
This commit is contained in:
parent
3cf0f1460b
commit
6c1bd9c241
2 changed files with 30 additions and 15 deletions
|
@ -4,10 +4,14 @@ import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.google.android.exoplayer2.ExoPlayer;
|
import com.google.android.exoplayer2.ExoPlayer;
|
||||||
import com.google.android.exoplayer2.MediaItem;
|
import com.google.android.exoplayer2.MediaItem;
|
||||||
|
import com.google.android.exoplayer2.PlaybackException;
|
||||||
|
import com.google.android.exoplayer2.Player;
|
||||||
import com.google.android.exoplayer2.ui.StyledPlayerView;
|
import com.google.android.exoplayer2.ui.StyledPlayerView;
|
||||||
|
import com.google.android.exoplayer2.upstream.HttpDataSource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An example full-screen activity that shows and hides the system UI (i.e.
|
* An example full-screen activity that shows and hides the system UI (i.e.
|
||||||
|
@ -31,24 +35,34 @@ public class VideoPlayer extends AppCompatActivity {
|
||||||
playerView = findViewById(R.id.player_view);
|
playerView = findViewById(R.id.player_view);
|
||||||
// creating a variable for exoplayer
|
// creating a variable for exoplayer
|
||||||
player = new ExoPlayer.Builder(this).build();
|
player = new ExoPlayer.Builder(this).build();
|
||||||
try {
|
// Attach player to the view.
|
||||||
|
playerView.setPlayer(player);
|
||||||
|
MediaItem mediaItem = MediaItem.fromUri(videoURL);
|
||||||
|
|
||||||
// Attach player to the view.
|
// Set the media item to be played.
|
||||||
playerView.setPlayer(player);
|
player.setMediaItem(mediaItem);
|
||||||
MediaItem mediaItem = MediaItem.fromUri(videoURL);
|
// Prepare the player.
|
||||||
|
player.prepare();
|
||||||
|
// Start the playback.
|
||||||
|
player.play();
|
||||||
|
|
||||||
// Set the media item to be played.
|
|
||||||
player.setMediaItem(mediaItem);
|
|
||||||
// Prepare the player.
|
|
||||||
player.prepare();
|
|
||||||
// Start the playback.
|
|
||||||
player.play();
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
player.addListener(new Player.Listener() {
|
||||||
// below line is used for
|
@Override
|
||||||
// handling our errors.
|
|
||||||
System.out.println("Error : " + e.toString());
|
public void onPlayerError(PlaybackException error) {
|
||||||
}
|
Throwable cause = error.getCause();
|
||||||
|
if (cause instanceof HttpDataSource.HttpDataSourceException) {
|
||||||
|
// An HTTP error occurred.
|
||||||
|
//System.out.println("Playback error F");
|
||||||
|
Toast.makeText(getApplicationContext(),getResources().getString(R.string.media_load_fail), Toast.LENGTH_SHORT).show();
|
||||||
|
player.release();
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
<string name="access_key">username</string>
|
<string name="access_key">username</string>
|
||||||
<string name="secret_key">password</string>
|
<string name="secret_key">password</string>
|
||||||
<string name="video_test_button">Video Test</string>
|
<string name="video_test_button">Video Test</string>
|
||||||
|
<string name="media_load_fail">Cannot load media file</string>
|
||||||
<string name="dummy_button">Dummy Button</string>
|
<string name="dummy_button">Dummy Button</string>
|
||||||
<string name="dummy_content">DUMMY\nCONTENT</string>
|
<string name="dummy_content">DUMMY\nCONTENT</string>
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in a new issue