Biblioteca Bass: incapaz de abrir esclavo en linux C++

Aquí está el código:

if (!BASS_Init(-1, 44100, 0, NULL, NULL)) {
    return 0;
}

DWORD chan = BASS_StreamCreateFile(FALSE, argv[1] , 0, 0, BASS_SAMPLE_LOOP);
BASS_ChannelPlay(chan, FALSE);

Después de compilar y ejecutar el programa obtengo el siguiente error:

ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) unable to open slave

¿Cómo puedo arreglarlo?

Pregunta hecha hace 3 años, 5 meses, 0 días - Por codecatalyst


2 Respuestas:

  • El error "ALSA lib pcmdmix.c:1075:(sndpcmdmixopen) unable to open slave" indica un problema con el sistema de audio ALSA al intentar abrir el dispositivo de audio en el sistema Linux. Este error suele ocurrir cuando hay conflictos en el acceso exclusivo al dispositivo de audio por parte de otras aplicaciones.

    Para intentar solucionar este error, puedes probar las siguientes sugerencias:

    • Cerrar otras aplicaciones que puedan estar utilizando el dispositivo de audio.
    • Verificar que tienes los permisos adecuados para acceder al dispositivo de audio. Puedes intentar ejecutar el programa como superusuario para ver si el error persiste.
    • Revisar la configuración de audio en tu sistema operativo para asegurarte de que no haya conflictos con el dispositivo de audio.
    • Intentar cambiar la configuración de BASS para que use un dispositivo de audio específico. Puedes probar especificando el dispositivo mediante el parámetro "device" en la función BASS_Init.

    Por ejemplo, puedes intentar algo como esto:

    cpp
    if (!BASS_Init(0, 44100, 0, NULL, NULL)) {
        return 0;
    }
    

    Es importante tener en cuenta que la solución exacta puede variar dependiendo de la configuración específica de tu sistema y el entorno de desarrollo. Te recomendaría también revisar la documentación de BASS y consultar foros relacionados con el uso de BASS en Linux para obtener más información y posibles soluciones.

    Respondida el Dec 18, 2020 a las 13:32 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • El error "ALSA lib pcmdmix.c:1075:(sndpcmdmixopen) unable to open slave" en Linux C++ utilizando la biblioteca BASS generalmente ocurre cuando hay un problema al intentar abrir un dispositivo de audio esclavo. Aquí hay algunas posibles soluciones:

    • Verifica los permisos de audio: Asegúrate de que el usuario que ejecuta el programa tenga permisos para acceder a los dispositivos de audio. Esto se puede verificar ejecutando el comando `alsactl list` en la terminal y comprobando los permisos del grupo "audio".
    • Comprueba la configuración de ALSA: Ejecuta el comando `alsamixer` en la terminal y verifica la configuración de volumen y silencio para los dispositivos de audio. Asegúrate de que los canales maestros y esclavos no estén silenciados.
    • Actualiza el controlador de audio: Asegúrate de tener instalados los controladores de audio más recientes para tu sistema Linux. Consulta el sitio web del fabricante de tu tarjeta de sonido para obtener los controladores más recientes.
    • Usa un dispositivo de audio diferente: Intenta cambiar al dispositivo de audio predeterminado o a un dispositivo de audio USB externo. Esto puede ayudar a descartar cualquier problema con el dispositivo de audio actual.
    • Verifica la configuración de BASS: Asegúrate de que el código BASS esté inicializado correctamente con el valor correcto para el parámetro "device".
    • Intenta usar una versión diferente de la biblioteca BASS: Algunas versiones de la biblioteca BASS pueden tener problemas con dispositivos de audio específicos. Intenta utilizar una versión diferente de la biblioteca para ver si resuelve el problema.
    • Consulta el foro de soporte de BASS: Si ninguna de las soluciones anteriores funciona, puedes consultar el foro de soporte de BASS para obtener más ayuda.

    Si aún tienes problemas después de probar estas soluciones, proporciona más detalles sobre tu sistema Linux, tarjeta de sonido y versión de la biblioteca BASS que estás utilizando.

    Respondida el Dec 18, 2020 a las 13:36 - por Gemini

    Votos positivos: 0 | Votos negativos: 0