с задержкой. В чем может быть проблема, кто-то знает?
Заранее спасибо
AsyncTask не стоит использовать, он deprecated. Как проявляется задержка проигрывания?
На воркеров переходить? Звука, который должен проиграться, просто нет, а потом проигрывается сразу несколько раз
Mediaplayer вроде из основного потока умеет работать. Для чего его нужно заворачивать в отдельный поток?
У меня пищалка, при изменении координат проигрывает звук. Координаты читаю через onLocationChanged и запускаю проигрывание
Хорошо, но зачем AsyncTask?
OnLocationChanged слишком часто вызывается
AsyncTask из onLocationChanged вызывается каждый раз?
Да (понимаю что это не очень хорошее решение, но умнее ничего не придумал)
Я так понимаю, что каждый раз при этом создаётся новый AsyncTask? В таком случае получается, что вы перегружаете систему кучей потоков, каждый из которых пытается сыграть звук.
Перекинул воспроизведение в onLocationChanged вроде заработало, спасибо)
Достаточно иметь 1 объект Mediaplayer. Можно ещё добавить проверку интервала, чтобы играло не чаще, чем нужно.
Exoplayer юзай и что-то получше Асинктаск.
Ему на самом деле не нужно было ни то, ни другое. Он через асинхрон пытался вылечить то, что вызывал проигрывание звука очень часто. В итоге только хуже сделал, нагружая систему кучей потоков, вместо того, чтобы тупо вызывать проигрывание реже. Но вроде разобрались вчера.
Обсуждают сегодня