Android ExoPlayer “prepare()”到底做什么?

Sam*_*hen 7 android android-mediaplayer exoplayer exoplayer2.x

我注意到的唯一区别是,如果我在prepare()before调用play(),我会看到进程指示器,并且它会在 中预加载数据,此外,如果我只是在 withoutPlayerView调用,我无法分辨出区别。play()prepare()

此外,文档什么也没说:https ://exoplayer.dev/doc/reference/com/google/android/exoplayer2/SimpleExoPlayer.html

public void prepare()

Description copied from interface: Player

Prepares the player.    //<- ???

Specified by:
prepare in interface Player
Run Code Online (Sandbox Code Playgroud)

Bis*_*uit 0

你可以在javadoc中找到一些线索

这将使播放器脱离空闲状态,并且播放器将开始加载媒体并获取播放所需的资源。

还有另一种情况你想调用prepare。

失败或停止的播放可以通过调用ExoPlayer.prepare Source重试