Использование Linux Mint 17.1 и ALSA. У меня есть два wav-файла, которые воспроизводят одинаковый звук: один использует pcm_s16le, а другой - pcm_s24le. Каждый из них воспроизводится тотем/видео. Мой код для установки аппаратных параметров и воспроизведения с помощью pcm_s16le отлично работает. Однако, когда я пытаюсь настроить эти параметры, чтобы приспособить pcm_s24le следующим образом:ALSA с использованием pcm_s24le
snd_pcm_hw_params_set_format(audioHandle, audioParams, SND_PCM_FORMAT_S24_LE);
[Я просто сменил «SND_PCM_FORMAT_S24LE» для «SND_PCM_FORMAT_S16_LE»]. Вызов snd_pcm_writei является
snd_pcm_writei(m_audioHandle, *m_pAudioFrameData, *m_pAudioFrameSize/(m_nChannels * m_bitsPerSample/8);
я получаю в основном мусор звук (шипение, волнение) с намеком правильного звука.
По сути мой вопрос в том, как мне преобразовать код, который работает для SND_PCM_FORMAT_S16_LE, для работы в SND_PCM_FORMAT_S24_LE?