Максимальное количество фрагментов, которые SoundPool будет воспроизводить одновременно. Это не количество фрагментов, которые может хранить SoundPool.
Аудиопоток, в котором будут воспроизводиться фрагменты. Типичным значением для него является AudioManager.STREAM_MUSIC, но SoundPool также может применяться для воспроизведения сигналов оповещения и рингтоно. Полный список доступных аудиопотоков ищите на странице руководства по AudioManager.
Значение SRC_QUALITY при создании SoundPool должно быть просто установлено .
В коде демонстрируется применение различных методов load класса SoundPool. Основной из них предназначен для загрузки аудиофайла из /res/raw в качестве ресурса. Мы используем этот метод для первых четырех аудиофайло. Затем, как загружать аудиофайл из каталога /assets приложения. Метод load также принимает параметры, которые указывают смещение и длину аудиофрагмента для загрузки. Это должно позволить использовать единственный файл с множеством аудиофрагментов в нем, извлекая оттуда только те, что нам нужны. Наконец, в комментариях, как обращаться к аудиофайлу на SD-карте. В версиях, предшествующих Android., параметр PRIORITY должен быть просто равен.
В рассматриваемом примере используются некоторые средства, представленные в версии Android., в частности — интерфейс onLoadCompleteListener для активности и методы autoPause и autoResume в методе обратного вызова кнопки.
При загрузке звуковых фрагментов в SoundPool необходимо подождать, пока они корректно загрузятся, прежде чем запускать их воспроизведение. Внутри метода обратного вызова onLoadComplete мы проверяем состояние загрузки и в зависимости от звука устанавливаем его на воспроизведение. Если это звук сверчка, мы включаем циклическое воспроизведение (значение - для пятого параметра). Прочие устанавливаем в очередь на воспроизведение после небольшого периода ожидания. Значения времени указываются в миллисекундах. Обратите внимание на установку громкости. Android предоставляет класс AudioManager, http://vlubleny.ru/nashi-uslugi/svadebn-floristika/evropejskaya-svadebnaya-floristika-flower-house который позволяет узнать текущий уровень громкости. Также от AudioManager можно получить максимальный уровень громкости, поэтому текущий уровень для play можно вычислять как значение float в пределах от до. Метод play на самом деле принимает два отдельных значения уровня для левого и правого каналов, но мы просто установим оба в текущее значение. Опять-таки, значение PRIORITY должно быть просто установлено . Последний параметр метода play для установки частоты воспроизведения. Это значение должно быть между. и., и. окажется достаточным.
Опубликовал Kest
February 14 2015 13:25:29 ·
0 Комментариев ·
2836 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.