Tal vez acaba de comenzar a codificar en Python. Tal vez todo el principio parezca inconcluso ya que ha estado trabajando con IDE regulares y le gustaría obtener un poco más de lo que hace su código en la consola respectiva y tal vez un poco de música o melodía podría animarlo. Este artículo tiene el propósito de presentarle el módulo winsound , un objeto o archivo con un conjunto de atributos o funciones, específico para la tarea de generar o reproducir sonido o un archivo de sonido. Nota: El módulo winsound está definido solo para su ejecución en una plataforma Windows , de ahí el nombre WINsound . Dado que el módulo winsound está integrado, no es necesario que lo instale antes de ejecutarlo. La acción básica sería
y luego, según el tipo de salida que le gustaría, escriba las siguientes funciones:
- winsound.Beep( ) La funcionalidad dedicada a este método es generar un sonido ‘Beep’. Sin embargo, el usuario debe ingresar el valor de la frecuencia y la duración del sonido (estos son parámetros que se deben pasar al llamar a la función). Nota: La frecuencia debe estar en el rango de 37 a 32 767 hercios.
Python3
import winsound # frequency is set to 500Hz freq = 500 # duration is set to 100 milliseconds dur = 100 winsound.Beep(freq, dur)
- Producción:
El sistema de Windows producirá un sonido de ‘Beep’ con la frecuencia dada por la duración de tiempo dada.
- Sobre la base del código anterior, las cosas se pueden llevar a otro nivel mediante la implementación de un ciclo ‘for’ para incrementar la frecuencia y la duración. Esto se ha hecho en el siguiente código:
Python3
import winsound freq = 100 dur = 50 # loop iterates 5 times i.e, 5 beeps will be produced. for i in range(0, 5): winsound.Beep(freq, dur) freq+= 100 dur+= 50
- Producción:
Se producen notas consecutivas con diferencias de frecuencia de 100 Hz y duración de tiempo 50 milisegundos mayor que la duración de tiempo anterior.
- winsound.PlaySound( ) Con la función PlaySound, las cosas pueden avanzar un poco, sin mencionar que son interesantes. Tenga en cuenta que esta función solo es compatible con archivos .wav. Se pasan dos parámetros en la función: ‘nombre de archivo’ y el indicador: winsound.SND_FILENAME, que es necesario para que la API de la plataforma se refiera al archivo de salida. Las banderas son como se definen a continuación:
Banderas | Descripción |
---|---|
SND_FILENAME | El parámetro de sonido es el nombre de un archivo WAV. |
SND_LOOP | Reproduce el sonido repetidamente |
SND_MEMORIA | El parámetro de sonido de PlaySound() es una imagen de memoria de un archivo WAV, como un objeto similar a bytes. |
SND_ASYNC | Regrese inmediatamente, permitiendo que los sonidos se reproduzcan de forma asincrónica. |
SND_NODEFAULT | Si no se puede encontrar el sonido especificado, no reproduzca el sonido predeterminado del sistema. |
SND_NOPARAR | No interrumpa los sonidos que se están reproduciendo actualmente. |
- Ejemplo:
Python3
import winsound print("Playing the file 'Welcome.wav'") # winsound.PlaySound('filename', flag) winsound.PlaySound('Welcome.wav', winsound.SND_FILENAME)
- Producción:
The respective audio file named 'Welcome.wav' is executed.
- SND_ALIAS El parámetro de sonido debe interpretarse como un nombre de asociación de sonido del panel de control. Las claves de registro de Windows están asociadas con nombres de sonido. Si el registro no contiene ese nombre, reproduzca el sonido predeterminado del sistema a menos que SND_NODEFAULT. Todos los sistemas Win32 admiten lo siguiente:
Reproducir sonido() nombre | Nombre del sonido del panel de control |
---|---|
SistemaAsterisco | Asterisco |
SistemaExclamación | Exclamación |
SistemaSalir | Salir de Windows |
SistemaHand | Parada crítica |
Pregunta del sistema | Pregunta |
- Ejemplo:
Python3
import winsound # Play Windows question sound winsound.PlaySound("SystemQuestion", winsound.SND_ALIAS)
- Producción:
Play Windows question sound
Hay varias otras funciones de winsound, la mayoría de las cuales son particulares de tareas específicas, algunas de las cuales se ocupan de los parámetros de tiempo de ejecución. No obstante, las funciones mencionadas anteriormente deberían ser suficientes siempre que la idea sea jugar para tener una idea de lo que se puede lograr con este módulo.
Publicación traducida automáticamente
Artículo escrito por siddhant_baroth y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA