2014-02-20 75 views
2

認證的視頻與MediaPlayer的我想流& SharePoint服務器URL在我的Android設備browser/Media Player /VideoView 播放影片有基本身份驗證(用戶名/密碼)但是我卻越來越流在Android

錯誤

sorry this video can’t be played. 

而且AUTH參數(用戶名/密碼)的URL內不工作(如:http://username:[email protected]/test.mp4

但是我可以使用帶有認證的Android HTTP下載類來下載並播放它。

任何人都可以提出認證可以如何被設置爲VideoView類提前流媒體視頻

謝謝!

+0

你解決了這個問題嗎? – Bugdr0id

+0

@ Bugdr0id看到我的答案。我希望它能幫助你。 –

回答

1

如果有人仍在尋找答案這是一種在videoview中設置身份驗證的方法。

Map<String, String> header= new HashMap<String, String>(1); 
final String cred = "your_username" + ":" + "your_password"; 
final String auth = "Basic "+ Base64.encodeToString(cred.getBytes(),Base64.URL_SAFE|Base64.NO_WRAP); 
params.put("Authorization", auth); 
videoView.setVideoURI(Uri.parse("your url"),header); 
videoView.start(); 

但是對於較低的api setVdeoUri方法是隱藏的。你可以看到this answe

如果你使用的是Google ExoPlayer,你將不得不像這樣設置數據源。

final String cred = "username" + ":" + "password"; 
    final String auth = "Basic "+ Base64.encodeToString(cred.getBytes(),Base64.URL_SAFE|Base64.NO_WRAP); 
    DefaultHttpDataSource dataSource = new DefaultHttpDataSource(userAgent, null); 
    dataSource.setRequestProperty("Authorization", auth); 
    dataSource.setRequestProperty("Accept", "...");