guía de uso para cytolk

Publicado 13 de Mayo de 2025 a las 16:21 por marco-ml

Guía Completa de Cytolk

Introducción

Cytolk es un wrapper de Cython para la biblioteca Tolk, diseñado para facilitar la interacción con lectores de pantalla en Python. Esta guía cubrirá todos los aspectos de su uso, desde la instalación hasta ejemplos avanzados.

Instalación

pip install cytolk

Importación y Configuración Básica


from cytolk import tolk

# Cargar Tolk con búsqueda extendida de DLLs
tolk.load()  # Por defecto, busca DLLs automáticamente

Funciones Principales

1. Detección de Lector de Pantalla


# Detectar el lector de pantalla actual
screen_reader = tolk.detect_screen_reader()
print(f"Lector de pantalla: {screen_reader}")

2. Verificación de Capacidades


# Verificar soporte de voz
if tolk.has_speech():
    print("Lector de pantalla soporta síntesis de voz")

# Verificar soporte de braille
if tolk.has_braille():
    print("Lector de pantalla soporta braille")

3. Salida de Texto


# Hablar texto
tolk.speak("Hola, este es un ejemplo de Cytolk")

# Mostrar en braille
tolk.braille("Texto en braille")

# Salida combinada (voz y braille)
tolk.output("Salida combinada", interrupt=True)

4. Control de Habla


# Verificar si está hablando
if tolk.is_speaking():
    print("El lector de pantalla está hablando")

# Silenciar
tolk.silence()

Configuración de SAPI


# Habilitar SAPI como opción de respaldo
tolk.try_sapi(True)

# Preferir SAPI (primero o último en la lista)
tolk.prefer_sapi(False)  # Como último recurso

Uso con Administrador de Contexto


with tolk.tolk():
    # Todas las operaciones de Tolk se realizan aquí
    tolk.speak("Hola desde el administrador de contexto")
    # Tolk se carga y descarga automáticamente

Manejo de Errores


try:
    tolk.load()
    # Operaciones con Tolk
except Exception as e:
    print(f"Error al usar Cytolk: {e}")
finally:
    tolk.unload()  # Siempre descargar

Consideraciones Importantes

  • Asegúrate de tener los DLLs correctos para tu lector de pantalla
  • Algunas funciones requieren que Tolk esté inicializado
  • La mayoría de las funciones devuelven un booleano indicando éxito o fallo

Solución de Problemas

Problemas Comunes:
  • Verificar que los DLLs estén en el directorio correcto
  • Comprobar que el lector de pantalla esté en ejecución
  • Usar tolk.is_loaded() para verificar la inicialización

PyInstaller y Nuitka

Para empaquetar aplicaciones con Cytolk:

  • PyInstaller: Copiar el hook de pyinstaller_hooks/hook-cytolk.py
  • Nuitka: Deshabilitar búsqueda extendida de rutas al cargar

Ejemplo Completo


from cytolk import tolk

def main():
    try:
        with tolk.tolk():
            # Detectar y usar lector de pantalla
            screen_reader = tolk.detect_screen_reader()

            if screen_reader:
                tolk.speak(f"Lector de pantalla detectado: {screen_reader}")
                tolk.braille("Cytolk en acción")
            else:
                print("No se detectó lector de pantalla")
    except Exception as e:
        print(f"Error: {e}")

if __name__ == "__main__":
    main()

Volver al listado