Как я могу отправить HTTP-заголовок с URL для потоковой передачи аудио в Android - PullRequest
0 голосов
/ 25 февраля 2019

Кто-нибудь знает хорошую библиотеку потокового аудио, в которой я могу установить URL для аудиофайла и передать заголовки HTTP с запросом?Я попробовал следующий подход, но он не стабилен, он работает на некоторых устройствах, а не на других устройствах

@Override
        protected Boolean doInBackground(String... strings) {
            boolean prepared = false;
            try {
            String url = strings[0];
            Map<String, String> map = new HashMap<>();
            map.put("Accept", "audio/mp3");
            map.put("x-api-key", "mykey");
            mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
            Method method = mediaPlayer.getClass().getMethod("setDataSource", new Class[]{String.class, Map.class});
            method.invoke(mediaPlayer, new Object[]{url, map});
            mediaPlayer.prepare();
            prepared = true;

        } catch (Exception e) {
            prepared = false;
        }

        return prepared;
    }

1 Ответ

0 голосов
/ 26 февраля 2019

Может быть, вы можете попробовать ExoPlayer

для заголовка, когда вы создаете источник мультимедиа, для которого вы можете установить свой заголовок следующим образом

private fun buildMediaSource(uri: Uri): MediaSource {
    val defaultHttpDataSourceFactory = DefaultHttpDataSourceFactory("exoplayer-kruso")
    defaultHttpDataSourceFactory.setDefaultRequestProperty("auth", "token")
    return ExtractorMediaSource.Factory(defaultHttpDataSourceFactory).createMediaSource(uri)
}
...