Benjamin Peterson | 888a39b | 2009-03-26 20:48:25 +0000 | [diff] [blame^] | 1 | from test.test_support import findfile, TestFailed, SkipTest, import_module |
Brett Cannon | 2224817 | 2008-05-16 00:10:24 +0000 | [diff] [blame] | 2 | sunaudiodev = import_module('sunaudiodev', deprecated=True) |
Barry Warsaw | 5bc697d | 1997-01-07 21:05:29 +0000 | [diff] [blame] | 3 | import os |
4 | |||||
Fred Drake | b891891 | 2001-04-14 03:10:12 +0000 | [diff] [blame] | 5 | try: |
6 | audiodev = os.environ["AUDIODEV"] | ||||
7 | except KeyError: | ||||
8 | audiodev = "/dev/audio" | ||||
9 | |||||
10 | if not os.path.exists(audiodev): | ||||
Benjamin Peterson | 888a39b | 2009-03-26 20:48:25 +0000 | [diff] [blame^] | 11 | raise SkipTest("no audio device found!") |
Fred Drake | b891891 | 2001-04-14 03:10:12 +0000 | [diff] [blame] | 12 | |
Barry Warsaw | 5bc697d | 1997-01-07 21:05:29 +0000 | [diff] [blame] | 13 | def play_sound_file(path): |
14 | fp = open(path, 'r') | ||||
15 | data = fp.read() | ||||
16 | fp.close() | ||||
Barry Warsaw | 3de721d | 1997-01-13 20:53:46 +0000 | [diff] [blame] | 17 | try: |
Guido van Rossum | 41360a4 | 1998-03-26 19:42:58 +0000 | [diff] [blame] | 18 | a = sunaudiodev.open('w') |
Barry Warsaw | 3de721d | 1997-01-13 20:53:46 +0000 | [diff] [blame] | 19 | except sunaudiodev.error, msg: |
Guido van Rossum | 41360a4 | 1998-03-26 19:42:58 +0000 | [diff] [blame] | 20 | raise TestFailed, msg |
Barry Warsaw | 3de721d | 1997-01-13 20:53:46 +0000 | [diff] [blame] | 21 | else: |
Guido van Rossum | 41360a4 | 1998-03-26 19:42:58 +0000 | [diff] [blame] | 22 | a.write(data) |
23 | a.close() | ||||
Barry Warsaw | 5bc697d | 1997-01-07 21:05:29 +0000 | [diff] [blame] | 24 | |
Brett Cannon | 7dbd918 | 2008-03-03 04:19:29 +0000 | [diff] [blame] | 25 | |
26 | def test_main(): | ||||
Barry Warsaw | b241c42 | 1997-01-13 20:34:44 +0000 | [diff] [blame] | 27 | play_sound_file(findfile('audiotest.au')) |
Barry Warsaw | 5bc697d | 1997-01-07 21:05:29 +0000 | [diff] [blame] | 28 | |
Brett Cannon | 7dbd918 | 2008-03-03 04:19:29 +0000 | [diff] [blame] | 29 | |
30 | |||||
31 | if __name__ == '__main__': | ||||
32 | test_main() |