📜  Python winsound 模块

📅  最后修改于: 2022-05-13 01:54:55.088000             🧑  作者: Mango

Python winsound 模块

也许您刚刚开始使用Python进行编码。也许整个一开始似乎还没有定论,因为您一直在使用常规 IDE,并且希望从您的代码在相应控制台上所做的事情中获得更多信息,也许一点音乐或曲调可能会让它变得活跃起来。

本文旨在向您介绍winsound模块,具有一组属性或功能的对象或文件,专门用于生成或播放声音或声音文件的任务。

注意: winsound模块仅定义为在Windows平台上执行,因此命名为WINsound

由于 winsound 模块是内置模块,因此您无需在执行之前安装它。
基本的行动是

import winsound

然后根据您想要的输出类型,输入以下函数:
  • winsound.Beep()

    此方法专用的功能是生成“哔”声。但是,用户需要输入声音的频率值和持续时间(这些是调用函数时需要传递的参数)。

    注意:频率必须在 37 到 32,767 赫兹的范围内。

    import winsound 
      
    # frequency is set to 500Hz
    freq = 500 
      
    # duration is set to 100 milliseconds             
    dur = 100
                   
    winsound.Beep(freq, dur)
    

    输出:

    进一步构建上面的代码,可以通过实现“for”循环来增加频率和持续时间,从而将事情提升到另一个层次。这已在下面的代码中完成:

    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
    

    输出:

  • winsound.PlaySound()
    使用 PlaySound函数,事情可以稍微先进一点,更不用说有趣了。请记住,此函数仅与.wav文件兼容。函数中传递了两个参数:'filename' 和标志 - winsound.SND_FILENAME,这是平台 API 引用输出文件所必需的。标志定义如下:
    FlagsDescription
    SND_FILENAMEThe sound parameter is the name of a WAV file.
    SND_LOOPPlay the sound repeatedly
    SND_MEMORYThe sound parameter to PlaySound() is a memory image of a WAV file, as a bytes-like object.
    SND_ASYNCReturn immediately, allowing sounds to play asynchronously.
    SND_NODEFAULTIf the specified sound cannot be found, do not play the system default sound.
    SND_NOSTOPDo not interrupt sounds currently playing.

    例子:

    import winsound
      
    print("Playing the file 'Welcome.wav'")
      
    # winsound.PlaySound('filename', flag)
    winsound.PlaySound('Welcome.wav', winsound.SND_FILENAME)       
    

    输出:

    The respective audio file named 'Welcome.wav' is executed.
    
  • SND_ALIAS
    sound 参数应解释为控制面板声音关联名称。 Windows 注册表项与声音名称相关联。如果注册表不包含此类名称,则播放系统默认声音,除非 SND_NODEFAULT。所有 Win32 系统都支持以下内容:
    PlaySound() nameControl panel sound name
    SystemAsteriskAsterisk
    SystemExclamationExclamation
    SystemExitExit Windows
    SystemHandCritical Stop
    SystemQuestionQuestion

    例子:

    import winsound
      
      
    # Play Windows question sound
    winsound.PlaySound("SystemQuestion", winsound.SND_ALIAS) 
    

    输出:

    Play Windows question sound
    

    还有各种其他的 winsound 函数,其中大部分是特定于特定任务的,其中一些处理运行时参数。尽管如此,只要想法是四处玩弄以了解使用此模块可以完成什么,上面提到的功能就足够了。