Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Transfer data over sound in Android [closed]

Tags:

android

audio

I want to transfer data over sound(eg : text). But I can't find anyway to resolve this problem. Program will no need connect Internet. Can anyone help me?

like image 215
nguoitotkhomaisao Avatar asked Jul 18 '14 04:07

nguoitotkhomaisao


People also ask

Can you transmit data through sound?

The process of using sound waves to transmit digital data; sound waves are locally encoded and broadcasted from a device and locally decoded via another device or series of devices using speakers and microphones.

Can you store data in sound?

No audio, not even audio metadata, is ever stored or sent from a receiving device for processing. Supports range of platforms: Data-over-sound is compatible with machines and devices of different platforms, form factors, and architectures that can process audio.

How data over sound works?

Data-over-sound technology encodes information into audio format: ○ either audibly as “bleeps and tones” ○ inaudibly above human hearing range ○ or “hidden” as imperceptible modifications of existing speech or music. It is received through a microphone, and decoded on another device.


1 Answers

Edit/Update: Found this new option, it has bluetooth low energy functionality also, though still seems an exciting development in the data via sound prospect:

Sonic Notify:

Sonic Notify beacons combine three technologies: Sonic Notify Audio, iBeacon, and Android BLE technology to reach 95% of smartphones. The range and options of the beacons' coverage are configurable via our back end beacon management system.

Searching for more docs, if available, on the same.
Update: Available documentation


I have done it using this library and SDK: NearSDK from NearBytes, found it quite reliable.

NearSDK is a communication solution that uses the NearBytes Mobile SDK

The dependency being you will need this to send the data and at the other end, to listen.
For eg.

To send:

nearBytes = new NearBytes(YourActivity.this);
nearBytes.send(NearBytes.stringToBytes("string"));  

To listen:

nearBytes = new NearBytes(this);
nearBytes.startListening();
nearBytes.setNearBytesListener(new NearBytes.NearBytesListener() {
                    public void OnReceiveError(int code, String msg) {
                    }

                    public void OnReceiveData(byte[] bytes) {
                     String msg = NearBytes.bytesToString(bytes);

                    }
                });  

You can find the details at:
Integrating the NearBytes SDK in an Android application
and NB Dev area

like image 143
Pararth Avatar answered Sep 16 '22 12:09

Pararth