[Python-checkins] r81642 - in python/branches/py3k: Lib/test/test_winsound.py

brian.curtin python-checkins at python.org
Tue Jun 1 15:49:19 CEST 2010


Author: brian.curtin
Date: Tue Jun  1 15:49:19 2010
New Revision: 81642

Log:
Merged revisions 81640 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81640 | brian.curtin | 2010-06-01 08:29:13 -0500 (Tue, 01 Jun 2010) | 3 lines
  
  Fix #8618. Ask the Windows mixer API if there are any playback devices
  configured before attempting to test PlaySound.
........


Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Lib/test/test_winsound.py

Modified: python/branches/py3k/Lib/test/test_winsound.py
==============================================================================
--- python/branches/py3k/Lib/test/test_winsound.py	(original)
+++ python/branches/py3k/Lib/test/test_winsound.py	Tue Jun  1 15:49:19 2010
@@ -6,6 +6,7 @@
 import time
 import os
 import subprocess
+import ctypes
 
 winsound = support.import_module('winsound')
 import winreg
@@ -13,6 +14,11 @@
 def has_sound(sound):
     """Find out if a particular event is configured with a default sound"""
     try:
+        # Ask the mixer API for the number of devices it knows about.
+        # When there are no devices, PlaySound will fail.
+        if ctypes.windll.winmm.mixerGetNumDevs() is 0:
+            return False
+
         key = winreg.OpenKeyEx(winreg.HKEY_CURRENT_USER,
                 "AppEvents\Schemes\Apps\.Default\{0}\.Default".format(sound))
         value = winreg.EnumValue(key, 0)[1]


More information about the Python-checkins mailing list