msg131583 - (view) |
Author: Tom Felker (Tom.Felker) |
Date: 2011-03-21 00:34 |
PlaySound supposedly lets you play a .WAV file whose contents are stored in a string, by passing the string and flags including winsound.SND_MEMORY. I'm trying to use BytesIO object and the wave module to make a file in-memory, and pass this to winsound. It's a TypeError if I pass the resultant bytes object directly, and if I pass a string object, I get TypeError: must be str without null character or None, not str Since wav files can contain zeros, for the feature to work at all, the C code would need to detect the SND_MEMORY flag and interpret the first argument as a bytes object, instead of a null-terminated string, in that case. |
|
|
msg152985 - (view) |
Author: Tim Lesher (tlesher) * |
Date: 2012-02-09 20:47 |
This patch should both correct the incorrect acceptance of strings and the incorrect rejection of buffer objects when using SND_MEMORY. |
|
|
msg198748 - (view) |
Author: Eric Snow (eric.snow) *  |
Date: 2013-10-01 03:48 |
I ran into this today. Can't we just change the "Z" to "z#" in the format string (or "z*")? Other than that, Tim's patch makes sense. |
|
|
msg260236 - (view) |
Author: Irmen de Jong (irmen)  |
Date: 2016-02-13 12:11 |
Ran into this today when trying to provide a fallback sound output on windows when the user hasn't got pyaudio installed. It seems that this module has been forgotten and didn't get fixed when the str/bytes change happened in Python 3.0? |
|
|
msg271948 - (view) |
Author: Zachary Ware (zach.ware) *  |
Date: 2016-08-04 04:15 |
Irmen, you're probably correct that this was overlooked at the time of 3.0. The patch is well out of date as well, winsound was Clinicized around the 3.4 timeframe. |
|
|
msg272691 - (view) |
Author: Zachary Ware (zach.ware) *  |
Date: 2016-08-14 20:19 |
Here's an updated patch. I'm a little wary of applying this on 3.5, because it is backward-incompatible: a str is no longer accepted with SND_MEMORY. On the other hand, it's pretty much a fluke if that works at all currently. |
|
|
msg274435 - (view) |
Author: Roundup Robot (python-dev)  |
Date: 2016-09-05 21:32 |
New changeset 8fa615a2a896 by Zachary Ware in branch 'default': Closes #11620: Fix support for SND_MEMORY in winsound.PlaySound. https://hg.python.org/cpython/rev/8fa615a2a896 |
|
|
msg274437 - (view) |
Author: Zachary Ware (zach.ware) *  |
Date: 2016-09-05 21:35 |
Thanks for the original patch, Tim! After discussion with Steve, we figured it's best to keep this to 3.6. |
|
|