After following the example given at the developer guide, i'm getting the following:
05-23 16:25:22.002 11893-11942/com.app.videotest E/ExoPlayerImplInternal: Source error.
Setup:
// 1. Create a default TrackSelector
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelection.Factory videoTrackSelectionFactory =
new AdaptiveTrackSelection.Factory(bandwidthMeter);
TrackSelector trackSelector =
new DefaultTrackSelector(videoTrackSelectionFactory);
// 2. Create the player
SimpleExoPlayer player =
ExoPlayerFactory.newSimpleInstance(this, trackSelector);
// Bind the player to the view.
PlayerView playerView = findViewById(R.id.player_view);
playerView.setPlayer(player);
// Produces DataSource instances through which media data is loaded.
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this,
Util.getUserAgent(this, "yourApplicationName"), null);
// This is the MediaSource representing the media to be played.
MediaSource videoSource = new ExtractorMediaSource.Factory(dataSourceFactory)
.createMediaSource(Uri.parse("http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"));
// Prepare the player with the source.
player.prepare(videoSource);
layout:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.google.android.exoplayer2.ui.PlayerView
android:id="@+id/player_view"
android:layout_width="200dp"
android:layout_height="200dp" />
</android.support.constraint.ConstraintLayout>
complete log:
05-23 16:25:18.919 11893-11893/? D/AppTracker: App Event: start
05-23 16:25:18.931 11893-11943/? D/OpenGLRenderer: HWUI GL Pipeline
05-23 16:25:18.946 11893-11945/? I/DpmTcmClient: RegisterTcmMonitor from: com.android.okhttp.TcmIdleTimerMonitor
05-23 16:25:18.951 11893-11945/? D/NetworkSecurityConfig: No Network Security Config specified, using platform default
05-23 16:25:18.982 11893-11943/? I/Adreno: QUALCOMM build : 08cdca0, I5f270ba9bc
Build Date : 09/18/17
OpenGL ES Shader Compiler Version: EV031.20.00.04
Local Branch :
Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.UM.6.5.R1.08.00.00.312.025
Remote Branch : NONE
Reconstruct Branch : NOTHING
05-23 16:25:18.982 11893-11943/? I/vndksupport: sphal namespace is not configured for this process. Loading /vendor/lib64/hw/gralloc.msm8996.so from the current namespace instead.
05-23 16:25:18.985 11893-11943/? I/Adreno: PFP: 0x005ff087, ME: 0x005ff063
05-23 16:25:18.990 11893-11943/? I/OpenGLRenderer: Initialized EGL, version 1.4
05-23 16:25:18.990 11893-11943/? D/OpenGLRenderer: Swap behavior 2
05-23 16:25:19.072 11893-11943/? I/vndksupport: sphal namespace is not configured for this process. Loading /vendor/lib64/hw/gralloc.msm8996.so from the current namespace instead.
05-23 16:25:21.057 11893-11920/com.app.videotest I/zygote64: Do partial code cache collection, code=28KB, data=28KB
05-23 16:25:21.059 11893-11920/com.app.videotest I/zygote64: After code cache collection, code=28KB, data=28KB
Increasing code cache capacity to 128KB
05-23 16:25:22.002 11893-11942/com.app.videotest E/ExoPlayerImplInternal: Source error.
The url is definitely working (and I have tried several others). What am I missing?
Update:
the player does work when I load the video locally. Doesn't solve my problem though.
onCreate
method and nothing else. – BarazuDataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this, Util.getUserAgent(this, "yourApplicationName"));
and add constraints for PlayerView likeapp:layout_constraintBottom_toBottomOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent"
– jantursky