Проблема в потоковой передаче аудио по ссылке https
Привет всем, я немного новичок в Android Я разработал приложение, которое транслирует аудио с сервера, все шло хорошо, пока мое приложение не сломалось, я отладил его и обнаружил, что медиа-проигрыватель Android выдает исключение при потоковой передаче по HTTPS-ссылке. У меня есть около 20 ссылок, с которых я передаю аудио в свое приложение, и около половины ссылок HTTPS, и они не воспроизводятся. Если кто-то понимает это, пожалуйста, ответьте, мне нужна помощь, если вы можете дать мне какой-нибудь фрагмент кода, который мне будет намного легче понять. Спасибо заранее
2 ответа
Мультимедийный проигрыватель Android не поддерживает HTTPS. Если вы укажете URL-адрес HTTPS, файл будет загружен.
Этот факт "HTTPS" не поддерживается в документации Android.
Просто добавьте код ниже перед вызовом медиаплеера
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(null, null);
MySSLSocketFactory sf = new MySSLSocketFactory(trustStore);
sf.setHostnameVerifier(MySSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
sf.fixHttpsURLConnection();
HostnameVerifier hostnameVerifier = org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER;
HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier);
MySSLSocketFactory: https://github.com/joniks/Android-Async-HTTP/blob/master/library/src/main/java/com/loopj/android/http/MySSLSocketFactory.java