Fancy-schmancy in game VoIP

So I need a system to do cross platform multiplayer voip in game. The obvious solution is to use an existing VoIP app (Skype comes to mind) since there are so many available solutions. My question to everyone is, has anyone done this before? (I’ll be glad to share my code if not). If not, in the next month or so I’ll be embarking on a Skype/Unity plugin that will work with multiplayer apps. Does anyone have any suggestions for alternative solutions?

Thanks!

Jeff

Have you had any luck with this??

im currently loking to do the exact same. was loooking for a way of recording data into an OGG in the assest folder then using OnNetworkSerializeView or something similar to send it over the network and play it somehow. as im sure u may be able to tell im only just starting to look itnto the logistics.

Skype has an api which I guess you could write a C# dll to use and then use this in your project.

I’ve had to shift this to the back burner for the time being, however it seemed like it was going to be relatively straight forward. I was going to have the Unity plugin auto dial the host player. At some point Skype is going to release a headless version of the client that can be integrated into other apps, that will be nice when it is available.

They’ve done better. As said they’ve already released an api meaning you can integrate skype directly into your apps.

Well, their API still requires that the user have Skype installed separately on their machine and be running, so it’s not quite the same as the headless version which will be a DLL or shared object which can be actually bundled in a package for distribution. As it is you now you use the Skype framework to send commands to the running Skype client and request that it connect to people, send messages, etc.

Ah. Fair enough. Had not looked that much into it. That’s too bad really. Would have been nice with a simple framework / dll interface.

I’ve been looking into this - and there aren’t any simple solutions that can just plug in AFAIK.

One way is to use System.Diagnostics to invoke Skype (even for calling multiple users) from within Unity. I haven’t tried this in the web player. For Mac, it looks something like:

System.Diagnostics.Process.Start("open skype:skypeuserid");

The only other simple way I can see, is for Unity to expose the Voice component included in Raknet - which is what Unity Networking is built on top of. They support the Speex codec - not sure how tough hardward integration would be, but the PortAudio lib is in Raknet, and that is used for cross platform device wire-up.
Raknet VoIP info:
http://www.jenkinssoftware.com/raknet/manual/rakvoice.html

Cheers
Shaun

Would “teamspeak” be a viable option?

Would RakVoice work since it is already in RakNet or are some features of RakNet not supported already in Unity?