我在正常的http中流式传输视频没有问题。 (例如:http://www.mywebsite.com/myvideo.mp4)
但是当我把它改成HTTPS时。我遇到了一个错误 (例如:https://www.mywebsite.com/myvideo.mp4)
有没有人试过这个?使用HTTPS链接将视频流式传输到第三方APP。 (通过将url / uri传递给android中的应用程序,询问用户将使用哪个应用来播放视频)
目前的情况是:
1。)我有一个https链接
2。)我已经启动了一个意图,并检查安装在android手机中的所有可用视频播放器(我目前已经安装了vlc,mx 播放器,视频播放器,内置OS播放器等。)
3。)我尝试选择上述任何一种,但它们都不起作用。 (它只是提示一条消息,说“玩家遇到错误”这是一个 一般错误。我只是试图将URL / URI传递给播放器。)
4。)请注意,如果我尝试在网络浏览器中播放它,一切正常。
5.请注意,我再次使用相同的代码
来传输http视频String videoURL = "https://www.mywebsite.com/myvideo.mp4";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(videoURL));
intent.setDataAndType(Uri.parse(videoURL), "video/*");
startActivity(intent);
在我的清单文件中,我使用默认设置,但我允许上网。
我不确定这是否相关或者这可以帮助但是:我能够缓冲来自同一个SERVER的HTTPS音频文件。因为android有一个内置的媒体播放器支持wav& mp3,我不是要求用户选择媒体播放器,因为它可以支持上述格式。当我在同一服务器中缓冲音频时,我只发出以下代码。所以一切都很好。
public HttpClient getNewHttpClient() {
try {
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(null, null);
SSLSocketFactory sf = new MySSLSocketFactory(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
registry.register(new Scheme("https", sf, 443));
ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);
return new DefaultHttpClient(ccm, params);
} catch (Exception e) {
return new DefaultHttpClient();
}
}
`
但是当谈到播放视频时,我会询问用户他想要播放哪个APP,导致该文件可能不受支持。
FIX
看起来,android在断链证书中有一些问题,为了解决这个问题,你必须修复破损的链证书。要查看您的证书,只需访问ssllabs.com/ssltest/analyze.html?d=yourwebsite.com
答案 0 :(得分:2)
经过长时间的努力,我找到了解决方案,
覆盖您的videoview类及以下代码。
library('corrplot')
#options(error=recover) # http://stackoverflow.com/a/15031603/54964
#debugger()
# load("last.dump.rda"); debugger(last.dump) # run if fail
options(error=function() dump.frames(to.file=TRUE))
# http://www.sthda.com/english/wiki/visualize-correlation-matrix-using-correlogram
cor.mtest <- function(mat, ...) {
mat <- as.matrix(mat)
n <- ncol(mat)
p.mat<- matrix(NA, n, n)
diag(p.mat) <- 0
for (i in 1:(n - 1)) {
for (j in (i + 1):n) {
tmp <- cor.test(mat[, i], mat[, j], ...)
p.mat[i, j] <- p.mat[j, i] <- tmp$p.value
}
}
colnames(p.mat) <- rownames(p.mat) <- colnames(mat)
p.mat
}
M <- cor(mtcars)
p.mat <- cor.mtest(M)
title <- "ECG p-value significance"
col <- colorRampPalette(c("#BB4444", "#EE9988", "#FFFFFF", "#77AADD", "#4477AA"))
corrplot(M, method="color", col=col(200),
diag=FALSE, # tl.pos="d",
type="upper", order="hclust",
title=title,
addCoef.col = "black", # Add coefficient of correlation
# Combine with significance
p.mat = p.mat, sig.level = 0.05, insig = "blank"
# hide correlation coefficient on the principal diagonal
)