- Need to add walkie talkie or push-to-talk functionality to your Android app?
- Worry no more, you can add it quickly with VoicePing Android SDK that works with VoicePing Open Source Router.
- Simple integration, customizable, and free! What are you waiting for? 🎉
VoicePing Android SDK works together with VoicePing Open Source Router to allow you to quickly add group voice broadcast capability to your app. The Android SDK comes with a reference Android App with UI that demonstrates the one button Push-To-Talk interface.
- Easy to integrate to your app
- Low data consumption suitable for Mobile Devices: Opus Codec, defined as 16Khz, 60ms Frame size. ~300KB per 1 minute of speech.
- Works over all network conditions (2G, 3G, 4G or Wifi)
- Auto-reconnect feature when Internet connection is lost
- Uses secure WebSocket for transport
- Works for Android SDK (16 to 30) and Android OS version 4.1 to 11
- Low battery consumption
- A Uber like application can connect a group of drivers together based on their location or zipcode
- For Enterprise applications like housekeeping applications, allow a group call to all housekeepers on a certain floor (level) of the hotel
- For SOS apps, activate voice broadcast if a user is in distress
- For Chat Apps, allow some users to send instant voice messages that do not need to be manually played.
You can test our sample app here: Download VP Demo app.
The sample app allows you to test the Walkie Talkie function.
Input any user ID and company name. Devices should have same company name to be able to communicate, but different user ID.
See those mic buttons?
Yup, that button is the only thing you need to add to your app to have PTT functionality.
But what if you don't want a mic button but another UI instead?
We have got it covered. You can customize it.
- Initialize
Initialize VoicePing in your Application code, inside onCreate method
class VoicePingClientApp : Application() {
override fun onCreate() {
super.onCreate()
VoicePing.init(this, "voiceping_sdk_server_url")
}
}
- Connect
Before you can start talking, you need connect to server. You can do that by call connect method from VoicePing instance.
VoicePing.connect("your_user_id", "your_company", object : ConnectCallback {
override fun onConnected() {
// Do something
}
override fun onFailed(exception: VoicePingException) {
// Do something
}
})
- Start Talking
After successfully connected, you can now start talking. You can start talking to individual receiver using:
VoicePing.startTalking("receiver_id", ChannelType.PRIVATE, this)
or in a group using:
VoicePing.startTalking("group_id", ChannelType.GROUP, this)
Before you can talk in a group, you need to join a group first, please look at item 6 below.
- Stop Talking
To stop talking, for both Private and Group PTT:
VoicePing.stopTalking()
- Disconnect
You can disconnect to stop receiving PTT:
VoicePing.disconnect(object : DisconnectCallback {
override fun onDisconnected() {
// Do something
}
})
- Join a group
You cannot listen to a group channel before joining it. To join a group channel:
VoicePing.joinGroup("group_id")
- Leave a group
To leave a group channel:
VoicePing.leaveGroup("group_id")
- Mute specific channel
To mute specific channel:
VoicePing.mute("target_id", ChannelType.PRIVATE)
// or ChannelType.GROUP if you want to target group
- Unmute specific channel
To unmute specific channel:
VoicePing.unmute("target_id", ChannelType.PRIVATE)
// or ChannelType.GROUP if you want to target group
You can customize the size, color, of the mic button. You can also customize the shape of the mic button. Or you can have your own PTT button.
<com.smartwalkie.voicepingsdk.VoicePingButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:shape="..." (oval / rectangle)
app:radius="..."
app:backgroundColor="..."
app:micColor="..."
/>
VoicePing Android SDK needs a VoicePing server to work. You can test with our hosted server or you can have your own self hosted server later. You can look at this repo to know how to self-host the server.
The public server URL: wss://router-lite.voiceping.info
If you need to self-host the server, you can find more documentation on the server repo:
- voiceover-server (This is the repo server, uses VoicePing.js)
- VoicePing.js (This is the library)
VoicePing Enterprise is the full featured closed source version with support. More features available are https://www.voicepingapp.com. You can try VoicePing on:
Join the same free channel ID and try PTT from the web to the Android/iOS app and vice versa. You will find VoicePing has very clear audio and low latency1.
VoicePing Enterprise has more features than VoicePing Open Source which can be found here: https://www.voicepingapp.com/blog/design-a-stunning-blog
Push To Talk (1-1): Make private calls that no one else can hear.
Push To Talk (Group): Talk to a group of up to 500 users.
Multi Channel Scanning: Active Channel is switched automatically when someone is talking.
Mute Groups: Silent Groups that you do not need to hear right now.
Leave Groups: Leave Groups to save on Battery.
Dynamic Groups: Add, remove or create new groups from Android or Web App.
Texting: Send text in VoicePing Mobile or VoicePing Web Texting or Desktop.
Text to Speech: Have text read out to you when you receive them. Supports Multiple Languages.
API: Send automated Text via API. Send Interactive Text with question and answers. Get location. Manage Groups and group members.
Send Pictures: Send HD pictures in VoicePing.
Send Videos: Send 720p Videos (Auto Compressed) in VoicePing.
Auto Forward Pictures to Email: Pictures can be auto forwarded to email for archival or re-sending.
Voice/Video Calls: Make Private Voice/Video Calls using VoIP.
Wired Headset Support: Hear and PTT via Wired Headset with PTT Toggle Mode Button.
Bluetooth Headset Support: Hear Incoming PTT. Best Paired with Bluetooth PTT Button.
Bluetooth PTT Button Support: Activates PTT without needing to touch phone
Priority Calls: Override conversation to send urgent messages.
SOS: Gets everyone into the emergency channel quickly.
Paging: Urgent and constant alert to get someone's attention.
Default SOS: Quickly press PTT button five times to send a SOS to a pre-defined channel.
Download Group Conversation: Download as audio, text and picture files of the entire group conversation as company admin.
Download Private Conversation: Download as audio, text and picture files of the entire private conversation between any pair of users.
Live Location Tracking: See where everyone is now on a map
View Historical Location: See where one person has been
Download Location Data: Download the location data via Excel or API
View Location in App: Admins can view location of users in the Android or Web App
Android Supported: Android 5 to Android 11 supported. With or Without Google Services.
iPhone Supported: iPhone version available. Runs in Background to allow for Real Time receiving of PTT.
Desktop Version: Web Based version to connect office and field workers.
If you would like help on server setup, maintenance, customization, please reach out and we can help you on that. VoicePing Enterprise is also available for customisation, rebranding and source code purchase.
[1] Latency: time between someone talks in a device until the other hears the audio on another device