потоковое аудио с аутентификацией - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь воспроизвести потоковое аудио с ip-камеры с родным Android.

Мой URL-адрес похож на http://url.of.camera:port/dgaudio.cgiУ меня есть базовая аутентификация с именем пользователя и паролем.Я использую Android MediaPlayer для воспроизведения потока.

Я попробовал подход, опубликованный здесь Могу ли я использовать обычную HTTP-аутентификацию с Android MediaPlayer?

но это не работает.Любое предложение?

Спасибо.

1 Ответ

0 голосов
/ 02 мая 2018

Пока что никто, похоже, не нашел решения, так что вот мое предложение.Это НЕ реальное решение, но это обходной путь, который может помочь людям, которые хотят проверить потоковое аудио с IP-камеры или аналогичного устройства.

  • Создать веб-просмотр в макете (сделать его невидимым, мы хотим просто воспроизводить аудио, но если вы хотите видеть проигрыватель таким, каким он был бы в веб-браузере, вы можете сделать веб-просмотр видимым) и кнопку для воспроизведения / остановки аудио
<WebView
    android:id="@+id/web_view_audio"
    android:visibility="invisible"
    android:layout_width="1dp"
    android:layout_height="1dp"/>

<Button
        android:id="@+id/btn_audio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="play"
        />

в вашей деятельности, когда вы нажимаете на кнопку воспроизведения, загружаете в веб-страницу URL http://USER:PASS@url.of.camera:port/dgaudio.cgi, и когда нажимаете на кнопку остановки, загружаете пустой HTML-код

private void playAudio() {
        if(playAudio) {
            webView.loadUrl(urlAudio);

            btnAudio.setText(getResources().getString(R.string.btn_audio_stop));

        }else {

            btnAudio.setText(getResources().getString(R.string.btn_audio_play));

            String customHtml = "<html><body></body></html>";
            webView.loadData(customHtml, "text/html", "UTF-8");
        }
    }
...