npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

com.adrenak.univoice

v3.0.0

Published

Voice chat/VoIP solution for Unity.

Downloads

337

Readme

Note: Inbuilt implementations and samples have been removed from this repository. They'll be added to separate repositories soon.

UniVoice

UniVoice is a voice chat/VoIP solution for Unity.

Some features of UniVoice:

  • 👥 Group voice chat. Multiple peers can join a chatroom and exchange audio.

  • ⚙ Peer specific settings. Don't want to listen to a peer? Mute them. Don't want someone listening to you? Mute yourself against them.

  • 🎨 Customize your audio input, output and networking layer.

    • 🎤 Configurable Audio Input: Decide what the input of your outgoing audio is. Let it be from Unity's Microphone class, or a live streaming audio, or an MP4 file on the disk.

    • 🔊 Configurable Audio Output: Decide where the incoming peer audio goes. Let the output of incoming audio be Unity AudioSource to play the audio in-game, or write it into an MP4 on the disk, or stream it to an online service.

    • 🌐 Configurable Network: Want to use UniVoice in a WLAN project using Telepathy? Just adapt its API for UniVoice with a simple the IChatroomNetwork interface. Using your own backend for multiplayer? Create and expose your audio API and write a UniVoice implementation, again with the same interface.

Docs

Manuals and sample projects are not available yet. For the API reference, please visit http://www.vatsalambastha.com/univoice

Usage

Creating a chatroom agent

  • To be able to host and join voice chatrooms, you need a ChatroomAgent instance.
var agent = new ChatroomAgent(IChatroomNetwork network, IAudioInput audioInput, IAudioOutput audioOutput);

Hosting and joining chatrooms

Every peer in the chatroom is assigned an ID by the host. And every peer has a peer list, representing the other peers in the chatroom.

  • To get your ID
    agent.Network.OwnID;

  • To get a list of the other peers in the chatroom, use this:
    agent.Network.PeersIDs

agent.Network also provides methods to host or join a chatroom. Here is how you use them:

// Host a chatroom using a name
agent.Network.HostChatroom(optional_data);

// Join an existing chatroom using a name
agent.Network.JoinChatroom(optional_data);

// Leave the chatroom, if connected to one
agent.Network.LeaveChatroom(optional_data);

// Closes a chatroom, if is hosting one
agent.Network.CloseChatroom(optional_data);

Muting Audio

To mute everyone in the chatroom, use agent.MuteOthers = true; or set it to false to unmute them all.

To mute yourself use agent.MuteSelf = true; or set it to false to unmute yourself. This will stop sending your audio to all the peers in the chatroom.

For muting a specific peer, first get the peers settings object using this:

agent.PeerSettings[id].muteThem = true; // where id belongs to the peer in question

If you want to mute yourself towards a specific peer, use this: agent.PeerSettings[id].muteSelf = true; // where id belongs to the peer in question

Events

agent.Network provides several network related events. Refer to the API reference for them.

License and Support

This project is under the MIT license.

Updates and maintenance are not guaranteed and the project is maintained by the original developer in his free time. Community contributions are welcome.

Commercial consultation and development can be arranged but is subject to schedule and availability.

Contact

The developer can be reached at the following links:

Website
LinkedIn
GitHub
Twitter