On a Symbian S60 phone, is it possible to create an application that awakes when a voice call starts; intercepts what the user says; applies a filter to the voice stream and makes it sound like, say, Darth Vader or Donald Duck ?
views:
75answers:
1The short answer is no. Voice call audio is not available to applications, mainly for two reasons:
(The technical reason) On many devices, voice audio is entirely handled on a separate processor from the one on which applications run. The call audio processor is typically referred to as the baseband processor, and runs its own real-time (often proprietary) operating system. A separate processor (the 'application processor') hosts Symbian OS, on which the applications run.
Clearly, these two processors can talk to one another, for example to transfer packet-switched data between the network and the Symbian OS IP stack. In some circumstances - for instance video telephony - circuit-switched data is also routed via the AP, since this in necessary in order to capture/encode/decode/render the two video streams. Voice calls, however, typically cannot be routed via the AP. Since the telephony stack must meet real-time deadlines during a call, allowing the data path to cross to a separate processor introduces a large amount of additional complexity. Given that there is no existing use case which requires this data path, manufacturers understandably don't go to the trouble of making it work.
(The legal reason) Even if voice call audio was available on the AP, device manufacturers would use the Symbian OS security model to ensure that it could not be accessed by third-party applications. This is because the device would likely fail cellular communications type approval if the manufacturer could not guarantee that applications cannot tamper with voice calls.
Furthermore, in some jurisdictions, recording telephone calls without the knowledge of the other party is illegal. Allowing applications to access voice call data would clearly allow them to perform surrepticious recording, exposing the OEMs to liability. Even if the application was not doing anything malicious with the data (applying a Donald Duck filter for example), it may still fall foul of these kinds of legal restrictions.
So, while your idea is a fun one, it is unlikely to be possible on a commercial Symbian device.