• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

An Impossible Task ?

 
Dave Brown
Ranch Hand
Posts: 301
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all,

I'm trying to determine with J2ME if it is possible to right an applet which sits running in the background , then when a phone call is made or received the applet, in real time, is monitoring the mic' and processing the sound it receives before playing it back out through the speaker.

What I want to do in the processing area is either apply a delay or other algorithms to adjust the pitch.. The importance is really for the person running the applet to hear their voice after a delay/processing.. not to disguise the voice like a voice changer..

I know this may sound like a crazy and totally pointless exercise but trust me there is a requirement.
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Could it be used for evil purposes.

What I mean is J2ME is built to keep it in the sand box and not allow others to create evil J2ME programs. This type of program sounds like it could be used by evil people to do evil things, so J2ME would avoid allowing this to be possible. Does that make sense. Think of how hackers or virus writers could make such a program and ruin people's phones for them.

Mark
 
Dave Brown
Ranch Hand
Posts: 301
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Being Evil is not my intention.. actually a good intention trying to do something for people with certain disabilities

however I certainly see where you are coming from.
 
Deepak Bala
Bartender
Posts: 6663
5
Firefox Browser Linux MyEclipse IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Instead of making a real call, may be you could write an application that records the voice and streams it via the net, and at the same time listens for incoming voice data. That way you can achieve what you want. I have my doubts about such an implementation and how its performance would be ( if its even possible ).
 
Dave Brown
Ranch Hand
Posts: 301
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
That sounds like Skype for the mobile world ;-)
 
Deepak Bala
Bartender
Posts: 6663
5
Firefox Browser Linux MyEclipse IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
That sounds like Skype for the mobile world ;-)


Precisely !
 
Eduardo Marques
Ranch Hand
Posts: 231
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The upcoming MIDP 3 specs will include support for background midlets and such. The final version and implementation on devices will take a while ... but see details here.
 
Deepak Bala
Bartender
Posts: 6663
5
Firefox Browser Linux MyEclipse IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
That is very interesting. If that is possible by say the next year and the vibrate() function in the Display class can return an int value instead of a boolean your functionality might be possible.

The int value should represent four things.

Display.CAN_CONTROL - You can use the vibrator
Display.CANNOT_CONTROL - You cant use the vibrator (Perhaps because there is none)
Display.VIBRATE_IN_USE - The vibrator was switched on and is in use
Display.VIBRATE_SUCCESS - The vibrate was switched on by us successfully.

The vibrate function should also include a flag.

(500,true) - which means if the vibrator is in VIBRATE_IN_USE state add 500ms and return VIBRATE_SUCCESS.

(500,false) - which means if the vibrator is in VIBRATE_IN_USE state, dont add to the vibrate time and return VIBRATE_IN_USE.


Put your phone in vibrate mode and keep polling to check for vibration which might denote an incoming call.

Of course this could all go wrong when you play snake with vibration on

Just a thought anyway.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic