Capture Streaming Audio in Android-internal outgoing audio (PCM) using Android-NDK (C, C++) or Android-JDK (Java)
€250-750 EUR
Pagado a la entrega
Hello,
About one year ago I have decided to write an Android app, which should capture all outgoing audio (PCM) of my Android device.
The captured audio will be used by my algorithms for measurements and streaming.
This means, that at least STREAM_MUSIC should be captured, so you can listen to your music with the music-app of you choice.
The goal is NOT to write a player which can play MP3s to a remote speaker (apps like this already exist)!
The problem is, that it is not possible to capture the outgoing sound with standard Android-APIs, you can only capture from microphone.
1. it is not possible with standard Android-APIs
2. the character device worked, but pcmC0D0p is not always the right device and kernel-coding is not applicable for an Android-app
3. it is not possible to implement a character device with FUSE, you need CUSE for this (not shipped with Android)
4. the ELF-hook worked for own shared libraries, but the system-libraries seem to be protected (maybe RELRO)
I have very good knowledge of Java and similar programming languages, but C is not my thing.
Now, my requirements:
- a piece of code or a small binary, which can capture/intercept ALL (or at least STREAM_MUSIC) PCM-audio outgoing of an Android-phone and stream it e.g. into a non-blocking pipe/FIFO
- I'm not interested in capturing phone-calls, so that's not required
- I must be able to compile the code on a Windows-PC with help of Android-NDK (ndk-build)
- the audio must be captured non-blocking (but there must not be a large buffer)
- you can assume a rooted Android-phone with at least Android 4.2.1 Jelly Bean and the newest Android-NDK (but it's better to supply more versions!)
- I must be able to build-in your code into my existing code and be able to get the raw PCM-audio from your code into my app
- the code must run on ARM-devices
My test-device is a rooted Samsung Galaxy Nexus with Android 4.2.1 Jelly Bean, stock kernel.
My payment:
I will pay up to 500€ if your code runs smoothly on multiple Android-versions and does NOT require rooting.
I will pay up to 300€ for a good, stable, code-documented and readable piece of code which can solve my requirements listed above.
Nº del proyecto: #8808500