169 похожих чатов

Всем привет, такой вопрос Запускаю MediaPlayer в Asynctask но проигрывается

с задержкой. В чем может быть проблема, кто-то знает?
Заранее спасибо

13 ответов

21 просмотр

AsyncTask не стоит использовать, он deprecated. Как проявляется задержка проигрывания?

Алексей- Автор вопроса

На воркеров переходить? Звука, который должен проиграться, просто нет, а потом проигрывается сразу несколько раз

Mediaplayer вроде из основного потока умеет работать. Для чего его нужно заворачивать в отдельный поток?

Алексей- Автор вопроса

У меня пищалка, при изменении координат проигрывает звук. Координаты читаю через onLocationChanged и запускаю проигрывание

Хорошо, но зачем AsyncTask?

Алексей- Автор вопроса

OnLocationChanged слишком часто вызывается

AsyncTask из onLocationChanged вызывается каждый раз?

Алексей- Автор вопроса

Да (понимаю что это не очень хорошее решение, но умнее ничего не придумал)

Я так понимаю, что каждый раз при этом создаётся новый AsyncTask? В таком случае получается, что вы перегружаете систему кучей потоков, каждый из которых пытается сыграть звук.

Алексей- Автор вопроса

Перекинул воспроизведение в onLocationChanged вроде заработало, спасибо)

Достаточно иметь 1 объект Mediaplayer. Можно ещё добавить проверку интервала, чтобы играло не чаще, чем нужно.

Exoplayer юзай и что-то получше Асинктаск.

Ему на самом деле не нужно было ни то, ни другое. Он через асинхрон пытался вылечить то, что вызывал проигрывание звука очень часто. В итоге только хуже сделал, нагружая систему кучей потоков, вместо того, чтобы тупо вызывать проигрывание реже. Но вроде разобрались вчера.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта