Jump to content
David Schwartz

Cross-platform Audio in the web browser!

Recommended Posts

I've been looking into what it takes to build a cross-platform app that's mainly audio-based. Each platform has its own set of media interfaces and logic, and stuff that works on Windows doesn't translate easily into what any other platform uses. A common framework would help a lot, but it's a lot of work to build and maintain. 

 

Someone pointed me at the Web Audio API (WAA) for web browsers; it's a javascript library that's been around now for most of a decade, and it's supported fairly completely by most of the latest browsers.

 

An excellent book was published earlier this year about it that can be found here:

 

https://www.routledge.com/Working-with-the-Web-Audio-API/Reiss/p/book/9781032118673

 

I'm guessing this is being used in a college course by the professor who wrote it.

 

I ended up getting some help from Andrew Simard who has been writing a series of Application Notes for TMS WebCore that have been posted on their blog. I gave him a couple of suggestions for demo apps which are hardly trivial, and he dug into both the UI side and the logic side, creating a couple of rather amazing demo apps. What's most amazing about them, in my mind, is that they run inside of the browser, and therefore on pretty much any browser and platform that supports WAA.

 

I invite you to take a look at the two articles and see what Andrew was able to accomplish using TMS WebCore on one side to implement a lot of the logic in concert with the WAA library on the other side -- which is all the more amazing since it's all in javascript. The UI side is all in HTML and CSS, written in WebCore / Delphi, and there are numerous events that are generated on the UI side passed back and forth between the Delphi side and the javascript side.

 

The second post has a link to a live example; perhaps Andrew will add a link to the first post as well.

 

Here's the first article:

 

https://www.tmssoftware.com/site/blog.asp?post=999

 

and here's the second article:

 

https://www.tmssoftware.com/site/blog.asp?post=1003

Edited by David Schwartz
  • Like 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×