J'ai créé un compte Vimeo pour héberger ma vidéo et je veux récupérer ma vidéo de Vimeo pour l'afficher dans Exoplayer dans mon application Android. Voici mon code mais il ne fonctionne pas pour récupérer la source vidéo.
class VideoPlayerActivity : Activity() {
private lateinit var player: SimpleExoPlayer
private lateinit var mediaDataSourceFactory: DataSource.Factory
private var trackSelector: DefaultTrackSelector? = null
private var lastSeenTrackGroupArray: TrackGroupArray? = null
private val videoTrackSelectionFactory = AdaptiveTrackSelection.Factory()
private var currentWindow: Int = 0
private var playbackPosition: Long = 0
private val ivHideControllerButton: ImageView by lazy { findViewById<ImageView>(R.id.exo_controller) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_video_player)
}
private fun initializePlayer() {
trackSelector = DefaultTrackSelector(videoTrackSelectionFactory)
mediaDataSourceFactory = DefaultDataSourceFactory(this, Util.getUserAgent(this, "mediaPlayerSample"))
val mediaSource = ExtractorMediaSource.Factory(mediaDataSourceFactory)
.createMediaSource(Uri.parse("https://vimeo.com/354191291/e72a0cc122"))
player = ExoPlayerFactory.newSimpleInstance(this, trackSelector)
with(player) {
prepare(mediaSource, false, false)
playWhenReady = true
}
playerView.setShutterBackgroundColor(Color.TRANSPARENT)
playerView.player = player
playerView.requestFocus()
ivHideControllerButton.setOnClickListener { playerView.hideController() }
lastSeenTrackGroupArray = null
}
private fun updateStartPosition() {
with(player) {
playbackPosition = currentPosition
currentWindow = currentWindowIndex
playWhenReady = playWhenReady
}
}
private fun releasePlayer() {
updateStartPosition()
player.release()
trackSelector = null
}
public override fun onStart() {
super.onStart()
if (Util.SDK_INT > 23) initializePlayer()
}
public override fun onResume() {
super.onResume()
if (Util.SDK_INT <= 23) initializePlayer()
}
public override fun onPause() {
super.onPause()
if (Util.SDK_INT <= 23) releasePlayer()
}
public override fun onStop() {
super.onStop()
if (Util.SDK_INT > 23) releasePlayer()
}
}
J'ai essayé de récupérer Vimeo pour cette ligne val mediaSource = ExtractorMediaSource.Factory(mediaDataSourceFactory) .createMediaSource(Uri.parse(" https://vimeo.com/354191291/e72a0cc122 ")) mais cela ne fonctionne pas pour moi.