We made an application that makes it possible to video call between 2 devices(iOS, Android and web). Using cordova, opentok, nodejs and the cordova-opentok-plugin. During testing we noticed that the sound on an Android device is kind of low, hard to hear the other person talk.
We tested the sound from our application and compared it to tests with Google Hangouts and a normal telephone call. From these tests we can see that the audio is on maximum volume in our application. The audio stream goes through the call channel for all these applications and our own.
We tested the same device with skype, which also goes over the call channel, and the sound on skype is a lot louder than our own application and Google Hangouts or even a normal telephone call.
So it seems Skype has found a way to boost the audio in Android. Does anyone know how we could implemented such kind of a boost/amplify to the audio channel?
Thanks in advance.
Related
How can i intercept blackberry calls audio and amplify the audio before the audio is sent out?
My blackberry z30 running on the latest bb10 OS has had an issue of low voice calls. Everyone complains that they cant hear me when on call. However, when am recording audio say on whatsapp calls or video recording, the audio is crystal clear, meaning somehow blackberry suppresses my call audio only.
I dont want to throw away the phone without putting up a good fight, programmatically. I would like to try to "intercept" the audio on calls, amplify the sound then send out the voice, much louder. Any possibility of achieving this? I am good in Java and c++ programming. Solutions using these languages will be highly appreciated.
Found a solution. Got source code of one of those fancy voice changer apps. Instead of changing voice, i amplify the sound. I am yet to hear anyone complain, second day now.
As all users of Windows Phone 10 know, the Bluetooth connectivity on this system is cutted to the simplest for end-user, which ends for programmers as a horror to create anything. When connecting to a device, system automatically looks for a "functions" that device has, for ex. audio. The questions are as following:1. How to define a function like that on external Android device? The main goal is, to control all types of music playback from it (ex. Groove music playing)2. Where can i find a list of things like this, for future app functions?
And to get ahead of answers, I already tried the easier ways, which came to nothing due to UWP limits of controlling other apps playback.
Main target of project is to make a xamarin c# (or java, I can "translate" from one to another with ease) android app for a smartwatch and in c# uwp for windows phone to do most common tasks, like - as mentioned before - music playback control and notifications reciever.
Based on your description, you want to develop an Android app to send Bluetooth command to control the music player of a windows phone device, then it depends on your Bluetooth of your android device.
But control music player by Bluetooth need the profile Avrcp I have check the google Bluetooth API I did not find the profile of Avrcp, I think it is may be hard to send the Avrcp command at the android application level.
And Android is source opened, many device factories prefer to customize their own Android system, it is possible that the device uses a Bluetooth module as a serial device, then the official Bluetooth APIs are not suitable for this scenario, the develop protocol of this Bluetooth module is in need.
I'm broadcasting an audio stream (predefined playlists not live) through an HTTP server. I'm wondering are there any cheap solutions (in terms of computational complexity) which I can confirm my stream is actually played and heard. This means a reasonable amount of audio output is broadcasted from device which resembles mostly that stream.
For a simple scenario: assume there is an Android device & app, which is responsible for connecting to the server and playing the stream. Same Android app will be used to capture microphone input and compare it with the stream. Testing environment is outdoor scene with low-to-moderate background noise.
I did some studying with FFT and audio analysis in the college but I'd rather not reinvent the wheel so I'm seeking reliable and cheap libraries for this matter (mainly Android but Java libraries are welcome too).
As a side note, I started out with getting volume levels from the device, but this turned out to be insufficient since user can just plug in a turned off speaker to the device.
You might think the amount of work required to accomplish such a feature might not be feasible. But keep in mind that this feature I'm working on is between the "content generator" and "broadcaster", NOT "broadcaster" vs. "listener". So all I'm trying to do is making sure the broadcaster is holding his end of the contract.
I would like to build an Android App to take audio data from two microphones, mix the sound with some from memory, and play the sound through headphones. This needs to be done in real-time. Could you please refer me to some tutorials or any references, for real-time audio input, mixing, and output with Java eclipse?
So far, I am able to record sound, save it, and then play it, but I cannot find any tutorials for real-time interfacing with sound-hardware this way.
Note: One microphone is connected to the 3.5 mm headphone jack of the Android through a splitter and the other is connected through a USB port.
Thanks!
There are two issues that I see here:
1) Audio input via USB.
Audio input can be done using android 3.2+ and libusb but it is not easy (You will need to get the USB descriptors from libusb, parse them yourself and send the right control transfers to the device etc). You can get input latency via USB in the order of 5-10 mS with some phones.
2) Audio out in real-time.
This is a perennial problem in Android and you are pretty much limited to the Galaxy Nexus at the moment if you want to approach real-time (using Native Audio output). However, if you master the USB you may be able to output with less latency as well.
I suppose if you go to the trouble of getting the USB to work, you can get a USB audio device with stereo in. If you had connected one mono mic to each of the input channels, then output via USB you would be very close to your stated goal. You might like to try "USB Audio Tester" or "usbEffects" apps to see what is currently possible.
In terms of coding the mixing and output etc, you will probably want one thread reading each separate input source and writing to a queue in small chunks (100-1000 samples at a time). Then have a separate thread reading off the queue(s) and mixing, placing the output onto another queue and finally a thread (possibly in native code if not doing output via USB) to read the mixed queue and do output.
The following Link http://code.google.com/p/loopmixer/ has a flavor for dealing with the audio itself.
Where to get streaming (live) video and audio from camera example for Android?
Suppose I want to create some live video streaming service app so I'll have some cool server at the back end. And I know how to do that part. Suppose I have some stand alone app for PCs now I want to go on to mobile devices. So I want to see some sample app grabing audio and video streams from Phone, Synchronizing them, encoding somehow, and sending LIVE stream to server. I need any Open-Source sample that will do this or something like this. Where can I get such one?
Ole have you been able to find any good examples of video or audio broadcasting yet? The best that I have found so far is the SIPDroid project (www.sipdroid.org). I haven't had a chance to review it in depth, but it looks promising.
Here are some project that you want
Ip Camera
http://code.google.com/p/ipcamera-for-android
SipDroid
http://code.google.com/p/sipdroid/source/browse/trunk/src/org/sipdroid/sipua/ui/VideoCamera.java
You can get the codes using SVN or other clients.
Yet to me, the both projects still have issues. If you get the one working well, please tell me.