2010-12-23 70 views
3

我在Android中使用VideoView来显示流式视频。 在用户收到&断开通话时播放视频时,视频将从开始播放开始播放,而不是在通话断开后的行为,视频应在收到来电时从同一地点开始播放。Android中的VideoView

如果您已经实施相同的方法,请提供您的建议/示例代码。

回答

11

我没有试过,但是这是我将开始:

第1步:在onStop(),呼吁VideoView getCurrentPosition()和保存价值。

步骤2:在onStart()中,拨VideoView的电话getCurrentPosition(),并将其与步骤#1的值进行比较。如果它们不同(例如,getCurrentPosition()现在为0),请拨打seekTo(),提供步骤#1中的值。

步骤#3:在onSaveInstanceState()中,拨VideoView调用getCurrentPosition()并将该值存储在提供的Bundle中。

步骤4:在onRestoreInstanceState()中,从提供的Bundle获得步骤#3中的值,并将其放入步骤#1和步骤#2使用的数据成员中。

这应该涵盖您在打电话时可能发生的相关情况。

+0

今天我花了几个小时工作一些类似的东西,但getCurrentPosition()在搜索位置不为零时偶尔返回0。在的onPause – MaximumGoat 2012-05-23 20:47:31

1

你可能应该看看life of an activity。确保你很好的处理了onStart()和onStop(),在同一个地方开始播放视频。

VideoView有getCurrentPosition()和seekTo(),这些应该能帮现场设置正确。

祝你好运!