我想知道是否有一些方法可以播放带有视网膜重新定位(2048x1536)的iPad视频.我正在开发一个可以用MPMoviePlayerController播放全屏视频的应用程序,但它无法播放iPad视网膜分辨率的视频.从文档:
支持的格式此类播放iOS中支持的任何电影或音频文件.这包括流内容和固定长度文件.对于电影文件,这通常意味着扩展名为.mov,.mp4,.mpv和.3gp的文件,并使用以下压缩标准之一:
H.264 Baseline Profile Level 3.0视频,最高640 x 480,30 fps.(基线配置文件不支持B帧.)MPEG-4第2部分视频(简单配置文件)如果您使用此类播放音频文件,它会在播放音频时显示带有QuickTime徽标的白色屏幕.对于音频文件,此类支持高达48 kHz的AAC-LC音频和高达48 kHz的MP3(MPEG-1 Audio Layer 3)立体声音频.
这不是真的!我可以在iPhone上播放H.264视频(960x640),在ipad上播放1024x768视频......
那么:我如何使用iPad视网膜分辨率播放视频?可能吗?没有MPMoviePlayerController,还有其他方法可以在iOS应用上播放视频吗?
我在Android上遇到了DefaultHttpClient的超时问题.我正在尝试使用以下代码设置超时:
HttpClient client = new DefaultHttpClient();
HttpParams httpParameters = client.getParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 4000);
HttpConnectionParams.setSoTimeout(httpParameters, 4000);
Run Code Online (Sandbox Code Playgroud)
但是,如果设备连接到没有Internet连接的网络,则永远不会触发超时,并且http请求的执行永远不会引发任何超时异常.我正在执行http请求如下:
HttpResponse httpResponse = client.execute(request);
Run Code Online (Sandbox Code Playgroud)
我也试过在HttpRequest上设置超时,使用以下行:
HttpRequestBase request = ...
request.setParams(httpParameters);
Run Code Online (Sandbox Code Playgroud)
Android似乎忽略了超时设置,并且在没有互联网连接的网络上执行http请求时,所有请求在大约20秒后失败,而不是在我的超时设置之后.
我还试图关闭所有的互联网连接,并在使用并行线程超时后中止http请求.我使用了以下代码:
HttpClient client = new DefaultHttpClient();
HttpParams httpParameters = client.getParams();
HttpRequestBase request = ...
request.setParams(httpParameters);
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutReal);
HttpConnectionParams.setSoTimeout(httpParameters, timeoutReal);
request.setParams(httpParameters);
((DefaultHttpClient) client).setParams(httpParameters);
Thread t = new Thread(){
public void run()
{
try
{
Thread.sleep(4000);
request.abort();
client.getConnectionManager().closeExpiredConnections();
client.getConnectionManager().closeIdleConnections(4000,TimeUnit.MILLISECONDS);
client.getConnectionManager().shutdown();
Log.i("TEST SHUTDOWN","SHUT DOWN ALL CONNECTIONS");
}
catch (InterruptedException e)
{
}
}
};
try
{
t.start(); …Run Code Online (Sandbox Code Playgroud)