|
From: | Cecilio Pardo |
Subject: | bug#74863: 31.0.50; Problems with play-sound on MS-Windows |
Date: | Sun, 15 Dec 2024 19:33:35 +0100 |
User-agent: | Mozilla Thunderbird |
On 15/12/2024 13:50, Eli Zaretskii wrote:
(defun load-file-into-unibyte-string (file-path) (with-temp-buffer (set-buffer-multibyte nil) (insert-file-contents file-path) (buffer-string))) (play-sound `(sound :data ,(load-file-into-unibyte-string "awav.wav") :volume 100))What's wrong with insert-file-contents-literally?
Nothing. So many functions...
+ if (in_memory) + i_result = !PlaySound (psz_file_or_data, NULL, SND_MEMORY);AFAIU, the documentation seems to say that the string passed as the first argument to PlaySound is limited to 256 characters (i.e. bytes)? If so, how do we play longer sounds?
I think this limitation applies only when the argument points to a string, and not when using SND_MEMORY, which is documented with: "The pszSound parameter points to a sound loaded in memory."
It's true the documentation doesn't say so, and I haven't found any clarification by Microsoft, but SND_MEMORY would be useless otherwise. Also I see normal usage searching the internet.
Should we also use SND_SENTRY flag (on Vista and later)?
Yes, done in the attached patch.
0001-Add-support-for-the-data-keyword-for-play-sound-in-M.patch
Description: Text document
[Prev in Thread] | Current Thread | [Next in Thread] |