|
|
|
|
@ -501,13 +501,14 @@ public class PlayActivity extends BaseActivity { |
|
|
|
|
if(autoRetryCount>1 && url.contains(".m3u8")){ |
|
|
|
|
url="http://home.jundie.top:666/unBom.php?m3u8="+url;//尝试去bom头再次播放
|
|
|
|
|
} |
|
|
|
|
final String[] finalUrl = {url}; |
|
|
|
|
runOnUiThread(new Runnable() { |
|
|
|
|
@Override |
|
|
|
|
public void run() { |
|
|
|
|
stopParse(); |
|
|
|
|
if (mVideoView != null) { |
|
|
|
|
mVideoView.release(); |
|
|
|
|
if (url != null) { |
|
|
|
|
if (finalUrl[0] != null) { |
|
|
|
|
try { |
|
|
|
|
int playerType = mVodPlayerCfg.getInt("pl"); |
|
|
|
|
if (playerType >= 10) { |
|
|
|
|
@ -516,7 +517,7 @@ public class PlayActivity extends BaseActivity { |
|
|
|
|
setTip("调用外部播放器" + PlayerHelper.getPlayerName(playerType) + "进行播放", true, false); |
|
|
|
|
boolean callResult = false; |
|
|
|
|
long progress = getSavedProgress(progressKey); |
|
|
|
|
callResult = PlayerHelper.runExternalPlayer(playerType, PlayActivity.this, finalUrl, playTitle, playSubtitle, headers, progress); |
|
|
|
|
callResult = PlayerHelper.runExternalPlayer(playerType, PlayActivity.this, finalUrl[0], playTitle, playSubtitle, headers, progress); |
|
|
|
|
setTip("调用外部播放器" + PlayerHelper.getPlayerName(playerType) + (callResult ? "成功" : "失败"), callResult, !callResult); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
@ -524,21 +525,20 @@ public class PlayActivity extends BaseActivity { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
hideTip(); |
|
|
|
|
String finalUrl = url; |
|
|
|
|
if (finalUrl.startsWith("data:application/dash+xml;base64,")) { |
|
|
|
|
if (finalUrl[0].startsWith("data:application/dash+xml;base64,")) { |
|
|
|
|
PlayerHelper.updateCfg(mVideoView, mVodPlayerCfg, 2); |
|
|
|
|
App.getInstance().setDashData(finalUrl.split("base64,")[1]); |
|
|
|
|
finalUrl = ControlManager.get().getAddress(true) + "dash/proxy.mpd"; |
|
|
|
|
} else if (finalUrl.contains(".mpd") || finalUrl.contains("type=mpd")) { |
|
|
|
|
App.getInstance().setDashData(finalUrl[0].split("base64,")[1]); |
|
|
|
|
finalUrl[0] = ControlManager.get().getAddress(true) + "dash/proxy.mpd"; |
|
|
|
|
} else if (finalUrl[0].contains(".mpd") || finalUrl[0].contains("type=mpd")) { |
|
|
|
|
PlayerHelper.updateCfg(mVideoView, mVodPlayerCfg, 2); |
|
|
|
|
} else { |
|
|
|
|
PlayerHelper.updateCfg(mVideoView, mVodPlayerCfg); |
|
|
|
|
} |
|
|
|
|
mVideoView.setProgressKey(progressKey); |
|
|
|
|
if (headers != null) { |
|
|
|
|
mVideoView.setUrl(finalUrl, headers); |
|
|
|
|
mVideoView.setUrl(finalUrl[0], headers); |
|
|
|
|
} else { |
|
|
|
|
mVideoView.setUrl(finalUrl); |
|
|
|
|
mVideoView.setUrl(finalUrl[0]); |
|
|
|
|
} |
|
|
|
|
mVideoView.start(); |
|
|
|
|
mController.resetSpeed(); |
|
|
|
|
|