private static List
list = new ArrayList (); Вы должны указать параметр типа.
Предупреждение указывает, что типы, которые определены для поддержки generics , должны быть параметризованы, а не использовать их необработанную форму.
List
определен для поддержки generics:public class List
. Это позволяет выполнять много типов безопасных операций, проверенных временем компиляции.
Самый простой способ - просто снизить частоту дискретизации от 44100 до более управляемой, например, 22050, 16000, 11025 или даже 8000. Большинство голосовых кодеков в любом случае не превышают 16000 Гц. А старшие оптимизированы для 8 кГц.
Следующим шагом является поиск кодека. Существует несколько кодеков для использования с Windows Audio Compression Manager , но почти все они относятся к Windows 95 и звучат ужасно по современным стандартам после распаковки.
Вы можете всегда конвертируйте в WMA в реальном времени с помощью формата SDK или с API Media Foundation. Или просто запустите библиотеку с открытым исходным кодом MP3, такую как LAME .
GSM имеет хорошее сжатие. Вы можете преобразовать блок данных PCM в GSM (или любой другой кодек, который вы установили), используя acmStreamConvert()
. Подробнее см. В MSDN:
Для речи с качеством телефона вы можете изменить до 8 бит на выборку и частоту дискретизации 8000. Это значительно уменьшит объем данных.