Я пытаюсь открыть аудиоинтерфейс на своем настольном устройстве, вызывая функцию ALSA Api :.
int err;
short buf[128];
snd_pcm_t *playback_handle;
snd_pcm_hw_params_t *hw_params;
if ((err = snd_pcm_open (&playback_handle, "hw:0,0", SND_PCM_STREAM_PLAYBACK, 0)) < 0) {
fprintf (stderr, "cannot open audio device %s (%s)\n",
argv[1],
snd_strerror (err));
exit (1);
}`
Я скомпилировал код (alsa_test.c), дав команду:gcc -o alsa_test alsa_test.c -L/usr/libx86_64-linux-gnu -lasound
И все компилируется нормально (я получаю некоторые предупреждения, но они не относятся к функции snd_pcm_open)
Но когда я запускаю приложение, я получаю ошибку сегментации (ядро сброшено) при вызове snd_pcm_open (...). Я проверил свои аудиоустройства, вызвав aplay -l, и получился вывод:
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC270 Analog [ALC270 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
Похоже, у меня правильно установлены аудио драйверы, поэтому я действительно не знаю, в чем может быть проблема.
У меня Ubuntu 16.04 64 бит установлен на архитектуре Intel x86_64.
заранее спасибо