我正在开发一个Android应用程序,我希望能够从GoPro相机流式传输实时图片。 我可以流式传输GoPro看到的内容,但是当我向GoPro发送命令以更改流的宽高比或将流翻转180度时,我的流冻结。
我正在使用AsynkTask
来获取URL GoPro命令,因此我不会冻结主UI线程。对于流,我使用MeadiPlayer
和SurfaceView
。
这是我传递给MediaPlayer的网址:http://10.5.5.9:8080/live/amba.m3u8
我正在实施SurfaceView
个回调和MediaPlayer
onPrepare
侦听器。当我向GoPro发送命令时,例如在流式传输时将屏幕方向改变180度,我首先停止流。然后当AsyncTask
完成后,我调用prepareAsynk
实例的MediaPlayer
,当onPrepare
被调用时,我再次使用start
启动流,但流只是停留凝固了。
然后,如果我再次使用stop
再次呼叫prepareAsynk
,则start
中的onPrepare
会再次开始播放。
任何人都有任何提示我如何克服这个问题?