the easiest ways to play an audio clip are the discouraged ones

mark.yagnatinsky at barclays.com mark.yagnatinsky at barclays.com
Sun Dec 31 19:43:09 UTC 2023


Resending; last one got blocked due to message size so trimming previous conversation

From: Yagnatinsky, Mark : Markets Pre Trade
Sent: Tuesday, December 26, 2023 12:18 AM
To: 'SWinxy' <swinxythecat at gmail.com>
Cc: client-libs-dev at openjdk.org
Subject: RE: the easiest ways to play an audio clip are the discouraged ones

Thanks for responding.  And thanks for the history page!!
The sad thing is that the issue is not just a documentation issue.
It really does takes around five dozen of lines of code to do accomplish the following task:
“play a sound file on my disk without leaking any resources”
(Or at least, I haven’t found a way to do it in much less than five dozen lines.)

AudioAction is also “intern-ish”: it seems designed to be called from look & feel code.

As for the tutorials: I realize they are barely maintained and I wish they still were.
But I see they still get occasional updates.  Maybe this one could be improved.
I suspect the sound tutorial has had no big updates since 1998, though the history page you linked claims 2006 for Java 6… (but where’s getClip() then?)

But lack of good docs is merely the second-biggest problem.
The biggest is that the API provides no easy way to accomplish what should be a trivial task.
Ideally the following lines of code should Just Work:
javax.sound.Player.playAsync(url); // fire and forget; leaks nothing
javax.sound.Player.playAndWait(url); // returns once playback is done, leaks nothing.
I shouldn’t have to know about ULAW vs ALAW vs PCM.
I shouldn’t even have to know about sampled vs midi.
(For nontrivial things, obviously those are very different; but not for something this simple.)
I shouldn’t have to implement line listeners and create a countdown latch.
It really shouldn’t be this hard!
The current difficulty level is high enough that people will ask themselves:
“do I really need add sound support?  Maybe I can live without it?”
It should be easy enough that you can do it on a whim!

This message is for information purposes only. It is not a recommendation, advice, offer or solicitation to buy or sell a product or service, nor an official confirmation of any transaction. It is directed at persons who are professionals and is intended for the recipient(s) only. It is not directed at retail customers. This message is subject to the terms at: https://www.cib.barclays/disclosures/web-and-email-disclaimer.html. 

For important disclosures, please see: https://www.cib.barclays/disclosures/sales-and-trading-disclaimer.html regarding marketing commentary from Barclays Sales and/or Trading desks, who are active market participants; https://www.cib.barclays/disclosures/barclays-global-markets-disclosures.html regarding our standard terms for Barclays Corporate and Investment Bank where we trade with you in principal-to-principal wholesale markets transactions; and in respect to Barclays Research, including disclosures relating to specific issuers, see: http://publicresearch.barclays.com.
__________________________________________________________________________________ 
If you are incorporated or operating in Australia, read these important disclosures: https://www.cib.barclays/disclosures/important-disclosures-asia-pacific.html.
__________________________________________________________________________________
For more details about how we use personal information, see our privacy notice: https://www.cib.barclays/disclosures/personal-information-use.html. 
__________________________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/client-libs-dev/attachments/20231231/778937f3/attachment-0001.htm>


More information about the client-libs-dev mailing list