我正在使用流媒体应用程序 (RTSP) 上的媒体播放器:
视频和声音播放效果很好,但是当来电暂停时Activity
,Surface 会被破坏(我知道这是因为 中的痕迹SurfaceHolder.Callback
)。
调用完成后,将恢复活动并Surface
创建一个新活动。我尝试通过setDisplay(SurfaceHolder sh)
方法将其分配给播放器,但到目前为止,只能听到视频的声音。
恢复视频流的解决方法是:
- 重新启动
MediaPlayer
对象。 - 等待缓冲区填满。
- 通过 mediaPlayer 执行搜索。
- 等待缓冲区填满。
这很烦人,因为播放器应该能够在收到呼叫时暂停,在呼叫完成时绑定新表面并Activity
恢复并播放视频而根本没有缓冲。