フォーマット (レート/デプス) がオーディオ カードでサポートされているかどうかを確認しようとしています。指定されたレートと深度に関係なく、pyaudio が True を返すことがわかりました。オーディオ カードでネイティブにサポートされているモードのみを表示するにはどうすればよいですか? これを Windows、Mac、ubuntu、fedora で再現しました。この問題の解決に役立つコードの抜粋を含めました。
import pyaudio
pa = pyaudio.PyAudio()
try:
default_device_id = pa.get_default_output_device_info()['index']
except IOError:
print ("There is no default device")
exit(1)
try:
result = pa.is_format_supported(rate=48000, output_device=default_device_id, output_channels=2, output_format = pyaudio.paFloat32)
print("Unexpected, device does not really support this result was: %s" % result)
except ValueError:
print("Expected Unsupported Device")