2014-02-20 3 views
2

Я пытаюсь поток & играть видео с URL сервера SharePoint, имеющий основной аутентификации (имя пользователя/пароль) в моем Android устройства browser/Media Player /VideoView Но я получаюпоток видео с проверкой подлинности MediaPlayer на Android

ошибка

sorry this video can’t be played. 

Также Auth параметры (имя пользователя/пароль) внутри URL не работает (например: http://username:[email protected]/test.mp4)

Но я могу загрузить и воспроизвести его с помощью класса загрузки HTTP HTTP с аутентификацией.

Может кто-нибудь подскажет, как аутентификация может быть установлена ​​в класс VideoView для потокового видео

Спасибо заранее !!

+0

Вы решили эту проблему? – Bugdr0id

+0

@ Bugdr0id см. Мой ответ. Надеюсь, это поможет вам. –

ответ

1

Если кто-то все еще ищет ответ Здесь вы можете установить аутентификацию в видеообъявлении.

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 комплектVdeoUri метод скрыт. Вы можете видеть 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", "..."); 
Смежные вопросы