03-02-2014 09:45 PM
Hi, I'm new at app development (but with experience in coding). There's an idea I have been thinking about for a while and I've recently started researching what BB10 provides in terms of core APIs that can allow me to do what I want. Basically, I want to intercept the "incoming" audio waveform during a call and modify it on the fly before sending it back on its original path to the output (earpiece, speaker, etc). In essence, what I want to do is something similar to the echo or noise cancellation available via the audio library (see snd_pcm_open_name).
Now, I've looked carefully through the Phone and Audio APIs in the native SDK, but I found nothing that could allow me to capture AND modify or overwrite the call audio itself in real-time before being played at output . I could theoretically capture the incoming call audio, modify it and play it separately, but that would be in parallel with the original call process, and hence, either one of two undesriable scenarios would presumably take place, either:
(a) the builtin phone's call waveform will take precedence and block or override playing my modified waveform on the same output "device" (earpiece, speaker, etc.), or
(b) maybe there is a way to allow playing both waveforms simulatenously, which is still bad.
The problem with these scenarios is that, as far as I could tell, there is no way to block the original waveform itself of the ongoing call.
I would really appreciate it if the experienced guys here can provide feedback. To summarize the question, is there a way to capture AND modify the incoming audio from an ongoing phone call on-the-fly, thereby overriding the default process of playback of the original waveform?
03-03-2014 03:39 AM