Linux Mint 17.1およびALSAを使用しています。私は同じサウンドを生成するwavファイルを2つ持っています:1つはpcm_s16leを使用し、もう1つはpcm_s24leを使用します。それぞれはTotem/videosによって正しく再生されます。ハードウェアパラメータを設定し、pcm_s16leを使って再生する私のコードは正常に動作します。私は次のようにpcm_s24leに対応するために、これらのパラメータを調整しようとしたときただし、:ALSA using pcm_s24le
snd_pcm_hw_params_set_format(audioHandle, audioParams, SND_PCM_FORMAT_S24_LE);
を[私は単に「SND_PCM_FORMAT_S16_LE」の「SND_PCM_FORMAT_S24LE」を置換しています]。 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で動作させるにはどうすればよいですか?