Пользовательский интерфейс Android Audiotrack зависает во время записи

#android #user-interface #stream #audiotrack

#Android #пользовательский интерфейс #поток #audiotrack

Вопрос:

Я пытаюсь воспроизводить звук непрерывно, и я создал аудиодорожку в потоковом режиме. Это работает, но каждый раз, когда слушатель реагирует и записывает новый пакет данных в буфер, пользовательский интерфейс зависает на некоторое время. Трек вместе со слушателями находится в их собственном потоке, и потоку задан минимальный приоритет.

Что я делаю не так?

Для моих целей я, вероятно, мог бы использовать метод цикла, но я хочу понять, как передавать звук, не блокируя пользовательский интерфейс.

Заранее спасибо.

Ответ №1:

Вы выполняете запись в отдельном потоке? Это то, что действительно важно. Попробуйте использовать для этого AsyncTask. Если вы хотите получить дополнительный кредит, вы можете прочитать статью о безболезненной потоковой передаче, чтобы узнать некоторые приятные подробности. Вы должны стараться избегать создания потоков вручную. Управление ими может быть затруднительным, и есть вероятность, что вы можете облажаться. Например, я надеюсь, что вы используете платформу воспроизведения мультимедиа Android для обработки фактического воспроизведения звука для вас.