如何从vimeo帐户检索视频源以在exoplayer android中播放?

如何从vimeo帐户检索视频源以在exoplayer android中播放?,android,vimeo,exoplayer,Android,Vimeo,Exoplayer,我已经创建了Vimeo帐户来托管我的视频,我想从Vimeo检索我的视频,并在我的android应用程序的Exoplayer中显示。这是我的代码,但无法检索视频源 class VideoPlayerActivity : Activity() { private lateinit var player: SimpleExoPlayer private lateinit var mediaDataSourceFactory: DataSource.Factory priva

我已经创建了Vimeo帐户来托管我的视频,我想从Vimeo检索我的视频,并在我的android应用程序的Exoplayer中显示。这是我的代码,但无法检索视频源

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()
    }

}
class VideoPlayerActivity:Activity(){
私有lateinit变量播放器:SimpleExoPlayer
私有lateinit var mediaDataSourceFactory:DataSource.Factory
私有变量trackSelector:DefaultTrackSelector?=null
私有变量lastSeenTrackGroupArray:TrackGroupArray?=null
private val videoTrackSelectionFactory=AdaptiveTrackSelection.Factory()
私有变量currentWindow:Int=0
专用变量播放位置:长=0
private val ivHideControllerButton:lazy{findViewById(R.id.exo_controller)}的ImageView
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity\u video\u player)
}
private fun initializePlayer(){
trackSelector=默认trackSelector(videoTrackSelectionFactory)
mediaDataSourceFactory=DefaultDataSourceFactory(这是Util.getUserAgent(这是“mediaPlayerSample”))
val mediaSource=extractoremiasource.Factory(mediaDataSourceFactory)
.createMediaSource(Uri.parse(“https://vimeo.com/354191291/e72a0cc122"))
player=ExoPlayerFactory.newImpleInstance(此为trackSelector)
与(球员){
准备(mediaSource、false、false)
playWhenReady=真
}
playerView.setShutterBackgroundColor(颜色.透明)
playerView.player=玩家
playerView.requestFocus()
ivHideControllerButton.setOnClickListener{playerView.hideController()}
LastSeentTrackGroupArray=null
}
private fun updateStartPosition(){
与(球员){
回放位置=当前位置
currentWindow=currentWindowIndex
playwhenredy=playwhenredy
}
}
私人娱乐发布玩家(){
updateStartPosition()
player.release()
trackSelector=null
}
public override fun onStart(){
super.onStart()
如果(Util.SDK_INT>23)初始化层()
}
恢复时的公共覆盖功能(){
super.onResume()

如果(Util.SDK_INT在此url上调用vimeo Api“http://player.vimeo.com/video/vimeo-video-id-here/config"
响应此呼叫时,获取视频的URL,然后您可以在今天测试的Exoplayer上播放,它可以正常工作。