1

我正在做一个视频流项目。我有两种选择:

  1. 在 AsyncTask 中执行 myVidoeURI.Prepare() 方法并播放流式视频。
  2. 执行 myVideoURI.PrepareAsync() 方法,然后在 UI 线程中播放电影。

你的决定是什么?请支持你的选择。

4

2 回答 2

2

网络操作应在后台线程上执行,而不是主/UI 线程。

与选项 2 相比,选项 1 没有任何好处。即使使用选项 1,视频播放也只需要在 UI 线程上完成。使用 prepareAsync 将使您免于处理 AsyncTask 的生命周期。

选择选项 2。

于 2013-10-06T12:37:05.360 回答
0

MediaStream 方法 prepareAsync() 的文档说:

异步准备播放器进行播放。设置数据源和显示表面后,您需要调用 prepare() 或 prepareAsync()。对于流,您应该调用prepareAsync(),它会立即返回,而不是阻塞直到缓冲足够的数据。

我建议选择选项 1。

于 2013-10-06T12:20:53.843 回答