我們的視頻流媒體播放器可以輸出多種視頻流,支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多種流媒體協議播放,同時也支持本地文件播放。在我們的Easy Player.JS版裏面,由於是網頁播放器,切換哪種視頻流只需點擊哪種視頻格式,十分便捷,那麼在EasyPlayer-RTSP-Android 裏應該如何操作才能切換播放流?
針對這個問題,分2種情況:
1、界面只有一個播放器,隨意切換;
2、界面有2個及更多個播放器,隨意切換。
對此我們也提供了兩種對應的解決辦法:
1、界面只有一個播放器
只需要切換視頻流就行,即在PlayFragment中,先關閉原來的流,重新開啓新的流:
public void change() {
if (mStreamRender != null) {
sendResult(RESULT_REND_STOP, null);
mStreamRender.stop();
}
boolean autoRecord = SPUtil.getAutoRecord(getContext());
try {
mStreamRender.start(mUrl,
mType,
Client.EASY_SDK_VIDEO_FRAME_FLAG |
Client.EASY_SDK_AUDIO_FRAME_FLAG,
"",
"",
autoRecord ? FileUtil.getMovieName(mUrl).getPath() : null);
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_LONG).show();
return;
}
}
2、界面有2個播放器
由於surface機制的問題,需要在PlayActivity中重新初始化PlayFragment並重新加載:
這裏也是爲大家提供了一個思路,目前EasyPlayerPro已經支持H265編碼的視頻播放了,如果有需要可以諮詢我。