[Python-checkins] r81641 - in python/branches/release26-maint: Lib/test/test_winsound.py
brian.curtin
python-checkins at python.org
Tue Jun 1 15:42:48 CEST 2010
Author: brian.curtin
Date: Tue Jun 1 15:42:48 2010
New Revision: 81641
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/release26-maint/ (props changed)
python/branches/release26-maint/Lib/test/test_winsound.py
Modified: python/branches/release26-maint/Lib/test/test_winsound.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_winsound.py (original)
+++ python/branches/release26-maint/Lib/test/test_winsound.py Tue Jun 1 15:42:48 2010
@@ -2,15 +2,23 @@
import unittest
from test import test_support
-import winsound, time
+import time
import os
import subprocess
+import ctypes
+
+winsound = test_support.import_module('winsound')
import _winreg
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