У меня возник вопрос относящееся к видео стриму. Например видео воспроизводится онлайн, во время воспроизведения нужно ли проверять соединение с сетью каждую секунду? Если да, то каким образом. Потому что я с запросами я работал только для того чтобы получать JSON строку. Или вообще как правильно построить структуру воспроизведения видео?
Вам нужен бродкаст ресивер, который будем уведомлять ваше приложение каждый раз когда состояние сети будет меняться.
public class NetworkReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
NetworkInfo networkInfo = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
if (networkInfo != null && networkInfo.getDetailedState() == NetworkInfo.DetailedState.CONNECTED) {
Log.d("Network", "Соединение есть");
} else if (networkInfo != null && networkInfo.getDetailedState() == NetworkInfo.DetailedState.DISCONNECTED) {
Log.d("Network", "Соединение оборванно");
}
}
}
}
И не забываем прописать в манифесте
<receiver
android:name=".receivers.NetworkReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
Возможно, вам на самом деле нужна не информация о том, доступен или нет сервер, а информация о том, достаточно или недостаточно плееру данных для работы. Если сервер на какое-то время отвалился, но буфера хватило, то пользователю это неважно. Пользователю будет важно, если сервер доступен, но скорости не хватает.
Поищите в библиотеке плеера колбэк, который возвращает статус. Если вы используете ExoPlayer (я надеюсь, вы используете его, а не стандартный?), то в колбэк ExoPlayer.EventListener в метод onPlayerStateChanged() может вернуться статус STATE_BUFFERING, при получении которого можно показать пользователю прогресс-бар.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Исключение выходит если запускаю в потоке, а без потока не появляется вроде быКак подправить чтоб без бага было
Прошу посоветовать книги по олимпиадному (школьному) программированию и вообще, что стоит учить, на данный момент читаю книгу Роберта Седжевика...