views:

185

answers:

2

Hello

I'm building a java application which works in a LAN environment, every computer on that LAN have this application installed on it, at some point i need this application to transfer voice simultaneously to all computer over the LAN (voice broadcasting) according to the following mechanism:

  1. Only one computer of the LAN can send voice using a microphone(the administrator)
  2. All computers receive that voice simultaneously (of course using my application)
  3. The voice should be recorded on the administrator computer after finishing the session.

Could anyone give me an idea of how to use java in working with voice transmission?
What java library can help me do that?

Please help, thank you

+1  A: 

There's JMF. I tried to do multiple voice enabled clients with JMF once, and abandoned because I couldn't get it to work. If I remember correctly, it had to do with cloning the datasinks or something to that effect. There's examples on how to do this though, but for my specific situation I couldn't figure out how to do it. Good luck!

JRL
+1  A: 

You might want to look at ECF for the server portion. You could set up a publish/subscribe model where only the server can publish but each of your clients has access to subscribe to the server.

At this point I would look at XMPP as the protocol (ECF supports this protocol out of the box). XMPP plus extensions is what Google uses for Google Voice so it is proven and it looks like it will be around for awhile. Take a look at xmpp.org for some Java libraries.

JMF as mentioned by JRL is some pretty old technology but it might be useful for grabbing sound from the microphone and for storing a voice file on the filesystem.

rancidfishbreath