We are looking to implement a group -voice- chat in the browser using node.js on the server. Is this possible?
Make sure you have the correct "Voice Transmission Type" selected. If using "Push to Talk" make sure your voice key is correctly bound to the right of "Push-to-talk hotkey assigned as". If it isn't working in-game, then the issue is probably that the mic input is being switched when you launch the game.
- Starting a voice chat with a friend is as simple as right-clicking their name in your friends list and selecting 'Start Voice Chat'. You can also start a voice chat in the lower right corner of any open chat window by clicking the microphone icon.
Enable your Microphone in the Steam chat overlay Navigate to Settings. Head over to the Voice settings. Make sure to select your microphone under Voice Input Device. Check if the microphone's Voice Transmission Type is set to Open Microphone or Push-to-Talk.
The chat window is on the bottom right side of the screen. It is used to send messages to other players. The default keybind to open the chat window is the Enter key.
If you want your solution to be purely JavaScript based on both, server and client side, then you would probably have to wait for the WebRTC, Device API or media capture API and then implement node.js backend for it.
Other than that it is, I would say, a question of Flash oriented APIs on the client side (for accessing devices such as cameras or microphones) and some kind of interoperability with node.js backend in case you don't want to take advantage of Flash Media Server or Red5.
I'm researching and working on the same problem.
This is my proposed stack:-
capturing voice on the client https://github.com/jiehanzheng/Recorderjs/blob/master/README.md
encoding the captured speech so that it can be shared via Node https://github.com/jpemartins/speex.js
sharing voice data with multiple users node.js and socket.io
Somebody wrote a THESIS on this. good read but some missing code in the samples http://pure.ltu.se/portal/files/36285511/LTU-EX-2012-36247736.pdf
relevant question on so. in particular look at answer by sirjamm How to Call SPEEX Audio Decode/Encode in HTML5 / JavaScript (Without Flash)
If I get it working, will post the github ref here.
hth
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With