К сожалению, даже не все телефоны поддерживают предположительно гарантированную частоту 44,1 кГц: (
Я тестировал Samsung GalaxyY (GT-S5360L), и если вы производите запись с источника Camcorder
(микрофон окружения)единственными поддерживаемыми частотами являются 8 кГц и 16 кГц. Запись при частоте 44,1 кГц приводит к полному мусору, а при частоте 11,025 кГц - записи с изменением высоты тона и меньшей продолжительностью, чем у исходного звука.
Более того, обе стратегии, предложенные @Yahmaи @Tom терпит неудачу на этом конкретном телефоне, так как возможно получить положительный минимальный размер буфера из неподдерживаемой конфигурации, и, что еще хуже, я был вынужден перезагрузить телефон, чтобы заставить аудио стек работать снова, после попыткииспользовать класс AudioRecord
, инициализированный из параметров, которые производят предположительно действительный, (не исключая повышение) экземпляр AudioTrack
или AudioRecord
.
Честно говоря, я немного обеспокоен проблемами, которые я вижу, когдавыпуская звуковое приложение в дикую природу. В нашем случае мы вынужденытолько слой преобразования частоты дискретизации, если мы рассчитываем повторно использовать наши алгоритмы (ожидая частоту записи 44,1 кГц) на этой конкретной модели телефона.
: (