流媒体视频在iOS设备上播放,但不是在Android设备上播放

问题描述:

我的应用用于在iOS和Android上播放HLS(m3u8)流媒体视频,但最近在我们的服务器上发生了一些变化(我不知道是什么)流。它仍然是完全相同的流,所以我不知道可能发生了什么变化。我们在服务器上引入了重定向,但它只有一个,所以我不确定交易是什么。你们中的任何一个人都知道我应该在哪里寻找下一个追踪​​这个问题?流媒体视频在iOS设备上播放,但不是在Android设备上播放

注意:在应用程序中,我看着这个txt文件(它不是我选择的txt文件),并解析了视频流的m3u8 url。

其他注意事项:如果您直接将网址插入到安卓网络浏览器,它可以正常播放。

下面是那些有兴趣谁一些标题:

Remote Address:x.x.x.x:80 
Request URL:http://xxxxx/videofeed.txt 
Request Method:GET 
Status Code:304 NOT MODIFIED 
Request Headersview source 
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Connection:keep-alive 
Cookie:__atuvc=1%7C28%2C1%7C29; PRUM_EPISODES=s=1405606768407&r=http%3A//xxxxx/Unsubscribe.aspx%3Femail%[email protected]%26list%3Djom; jom-bigip=369103532.20480.0000; __utma=191791409.1763237517.1404757015.1408809372.1408840784.4; __utmc=191791409; __utmz=191791409.1404757015.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) 
Host:www.joelosteen.com 
If-Modified-Since:Sun, 24 Aug 2014 00:46:51 GMT 
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 
Response Headersview source 
Cache-Control:private,max-age=0 
Connection:keep-alive 
Content-Length:0 
Date:Tue, 02 Sep 2014 18:28:45 GMT 
Expires:Mon, 18 Aug 2014 18:28:46 GMT 
MicrosoftSharePointTeamServices:14.0.0.4762 
Public-Extension:http://schemas.microsoft.com/repl-2 
Server:Microsoft-IIS/7.5 
SPRequestGuid:ddfb9b7b-5cb1-4644-88fa-52d776848b64 
X-FRAME-OPTIONS:SAMEORIGIN 
X-Powered-By:ASP.NET 
X-SharePointHealthScore:0 

这里是我使用Android中播放视频的代码:

Intent intent = new Intent(context, VideoPlayerActivity.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
Bundle bundle = new Bundle(); 
bundle.putString(VideoPlayerActivity.KEY_URL, url); 
intent.putExtras(bundle); 
context.startActivity(intent); 

如果您使用的WebView尝试改变用户-agent在您的应用程序中:

WebSettings webSettings = webviewHTML.getSettings(); 
    webSettings.setUserAgentString("Android"); 
    webSettings.setUserAgentString("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0"); 

或类似(如在您的iOS应用程序中)。

+0

这里的诀窍是,该应用程序已经在Play商店中,并且它正在工作。现在不是,由于该应用程序已经在那里,我有点卡住了。我一直在寻找答案,但我什么都没有。 – Jacksonkr 2014-09-02 18:53:51

+1

恕我直言,可能是服务器解析useragent并禁止默认的android的useragent。尝试在您的应用程序本地(不是在Play商店)实现此代码,并且如果此代码可以正常工作,而不是在服务器端出现问题。 – 2014-09-02 18:57:49

+0

我不知道为什么这会跳过我的想法,但它不在webview中,我会在该问题中发布其他代码详细信息。 – Jacksonkr 2014-09-03 02:15:36