tags:

views:

451

answers:

4

I have a large amount of audio stored on my web server in a very custom format that can't be replayed by anything other than my own application. That application is a Win32 app that can connect to my web server and stream and replay that audio.

I'd really like to be able to do the streaming and replaying from within a browser, but don't know where to start. Ideally I'd like the technology to be cross-platform (unlike my current Win32 app) and cross-browser (IE 6 and above and Firefox).

My current thoughts are to look at things like:

  • Flash, but doesn't that only replay mp3 audio?
  • Java, are VMs freely available still?
  • Converting the audio to a WAV file on the web server and then using someone else's plugin to replay that file. I'd rather keep the conversion off the web server for performance reasons, but is still an option.
  • Writing my own custom plugin to do the complete stream and replay operation.

Any guidance would be most useful.

Please note that the audio is not music and that simply converting to another audio format is not trivial. The audio that is stored also changes frequently (every minute) would need constant conversion.

+4  A: 

Why are you using a proprietary music format? I'd probably not even bother downloading a program to listen to it.

I would suggest you convert it to mp3 and then use flash.

Building your own plugin would probably be hard, there are so many different platforms you'd have to cater for, something like flash is written for them already.

Cetra
This is very easy to do in Flex
Thanks for your response, but my audio is mainly speech rather than music. Keeping it in a proprietary format gives me more security over who can listen to it and who can't.
Big GH
A: 

I'd go with converting the audio to WAV (or MP3) on the server. Writing your own cross-platform browser component would be a lot of work, thanks to the different ways the major OSes handle their audio APIs.

MusiGenesis
A: 

Try taking a look at shoutcast. Basically its a server app that will stream music to any client that connects to it through a browser (effectively your own radio station). I've never used it myself but should be straight forward. Another idea is winamp remote. Again you install the app on the server but this time you can browse your music collection on their website and play individual songs.

We use AjaxAMP at work for controlling our music. Works with most browsers and you only have to install on the PC serving the music. http://www.ajaxamp.com/
Feet
+2  A: 

Apart from converting server-side: Implement a decoder for your format in ActionScript or Java. Then you can write a Flash movie or Java applet that plays it. Both languages/runtimes should be fast enough to decode in realtime unless your format is very complex. Flash would be the more accessible of the two, since nearly everyone has the plugin installed. (It's possible that playing a raw sound buffer isn't supported by older Flash versions than 10, I'm no expert on that.) The Java plugin is definitely free, but you'd require the users to install it.

Martin Vilcans