package
com.gtappdevelopers.kotlingfgproject
import
android.net.Uri
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.google.android.exoplayer2.ExoPlayerFactory
import
com.google.android.exoplayer2.SimpleExoPlayer
import
com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
import
com.google.android.exoplayer2.extractor.ExtractorsFactory
import
com.google.android.exoplayer2.source.ExtractorMediaSource
import
com.google.android.exoplayer2.source.MediaSource
import
com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
import
com.google.android.exoplayer2.trackselection.DefaultTrackSelector
import
com.google.android.exoplayer2.trackselection.TrackSelector
import
com.google.android.exoplayer2.ui.SimpleExoPlayerView
import
com.google.android.exoplayer2.upstream.BandwidthMeter
import
com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
import
com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory
class
MainActivity : AppCompatActivity() {
lateinit var exoPlayerView: SimpleExoPlayerView
lateinit var exoPlayer: SimpleExoPlayer
var videoURL =
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
exoPlayerView = findViewById(R.id.idExoPlayerVIew)
try
{
val bandwidthMeter: BandwidthMeter = DefaultBandwidthMeter()
val trackSelector: TrackSelector =
DefaultTrackSelector(AdaptiveTrackSelection.Factory(bandwidthMeter))
exoPlayer = ExoPlayerFactory.newSimpleInstance(
this
, trackSelector)
val videoURI: Uri = Uri.parse(videoURL)
val dataSourceFactory: DefaultHttpDataSourceFactory =
DefaultHttpDataSourceFactory(
"Exoplayer_video"
)
val extractorsFactory: ExtractorsFactory = DefaultExtractorsFactory();
val mediaSourse: MediaSource =
ExtractorMediaSource(videoURI, dataSourceFactory, extractorsFactory,
null
,
null
)
exoPlayerView.player = exoPlayer
exoPlayer.prepare(mediaSourse)
exoPlayer.playWhenReady =
true
}
catch
(e: Exception) {
e.printStackTrace()
}
}
}