Аудио API низкого уровня для Android

Я ищу некоторый путь в Android для проигрывания аудио в оперативной памяти способом, аналогичным waveOutOpen семейство методов в программировании Windows.

waveOut... методы по существу позволяют приложению создать массивы демонстрационных значений (как файлы WAV в оперативной памяти без заголовков) и вывести их в очередь для последовательного воспроизведения. Переходы Windows беспрепятственно от одного массива до следующего, поэтому, пока приложение продолжает выводить массивы в очередь перед воспроизведением, программа может создать и играть непрерывное аудио любой произвольной длины. Windows API также включает механизм обратного вызова, который приложение может использовать, чтобы указать на прогресс и загрузить дополнительные буферы.

Насколько я могу сказать, аудио Android, API позволяет приложению играть файл от локального устройства хранения данных или URL, или от потока памяти. Есть ли любой способ заставить Android "стоять в очереди" MediaPlayer.start() вызовы так, чтобы переходы плеера (без незначительных сбоев) в следующее после завершения игры? Это появляется это Jet делает что-то вроде этого, но только с его собственным внутренним механизмом синтеза.

Есть ли любой другой способ получить доступ к аудио Android в a waveOutOpen путь?

10
задан MusiGenesis 9 August 2010 в 02:07
поделиться

1 ответ

android.media.AudioTrack

... это класс, который вы, вероятно, ищете.

http://developer.android.com/reference/android/media/AudioTrack.html#AudioTrack%28int,%20int,%20int,%20int,%20int,%20int%29

После создания вы просто загрузите его двоичными данными с заданным форматом, используя следующий метод:

AudioTrack.writeTo(...)
10
ответ дан 4 December 2019 в 01:29
поделиться
Другие вопросы по тегам:

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