小编Jac*_*rta的帖子

在新iPad视网膜上播放高分辨率视频(2048x1536)

我想知道是否有一些方法可以播放带有视网膜重新定位(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应用上播放视频吗?

video mpmovieplayercontroller ipad ios retina-display

6
推荐指数
1
解决办法
5713
查看次数

Android忽略DefaultHttpClient超时参数

我在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)

android timeout httpclient httprequest

4
推荐指数
1
解决办法
1270
查看次数