Stateful, double-buffered dynamic navigation voice prompting
View Patent ↗A navigation system written in J2ME MIDP for a client device includes a plurality of media players each respectively comprising a buffer. A navigation program manages the state of the plurality of media players. The plurality of media players are in either one of an acquiring resources state, and a playing and de-allocating state. The use of a plurality of media players each respectively comprising a buffer overcomes the prior art in which navigation system can cut off a voice prompt because of the time-consuming tasks associated with playing a voice prompt.
1. A physical navigation system, comprising:
a plurality of media players, associated with physical hardware resources, each respectively comprising a buffer, and each having an acquiring resources state, and a voice prompt and de-allocating state; and
a navigation program to manage said acquiring resources state, and said voice prompt and de-allocating state in each of said plurality of media players; and
a physical asynchronous hardware interface to interface said plurality of media players to said physical hardware resources;
wherein said plurality of media players operate autonomously with relation to said physical hardware resources via said physical asynchronous hardware interface.
2. The physical navigation system according to claim 1 , wherein:
said voice prompt is dynamically created based on a changing location of said client device.
3. The physical navigation system for according to claim 1 , wherein:
said navigation system is written in Java Platform Micro Edition (J2ME) Mobile Information Device Profile (MIDP).
4. The physical navigation system according to claim 1 , wherein:
said plurality of media players interface with hardware resources via an asynchronous hardware interface.
5. The physical navigation system according to claim 1 , wherein:
said navigation system is implemented in a personal data assistant (PDA).
6. The physical navigation system according to claim 1 , wherein:
said navigation system is implemented in a cellular phone.
7. The physical navigation system according to claim 1 , wherein:
said navigation system is multi-threaded.
8. A method of providing a plurality of buffers for a physical navigation system, comprising:
instantiating a plurality of media players, associated with physical hardware resources, each of said media players respectively comprising a buffer, and each having an acquiring resources state, and a voice prompt and de-allocating state;
executing a navigation program to manage said acquiring resources state, and said voice prompt and de-allocating state in each of each of said plurality of media players; and
interfacing said plurality of media players to said physical hardware resources via a physical asynchronous hardware interface;
wherein said plurality of media players each have an acquiring resources state, and a voice prompt and de-allocating state; and
wherein said plurality of media players operate autonomously with relation to said physical hardware resources via said physical asynchronous hardware interface.
9. The method of providing a plurality of buffers for a physical navigation system according to claim 8 , further comprising:
allocating media player resources;
filling buffers associated with each of said plurality of media players;
setting a volume for said plurality of media players;
playing said voice prompt;
de-allocating said buffers associated with each of said plurality of media players;
de-allocating said media player resources; and
closing each of said plurality of media players.
10. The method of providing a plurality of buffers for a physical navigation system according to claim 8 , wherein:
said voice prompt is dynamically created based on a changing location of said client device.
11. The method of providing a plurality of buffers for a physical navigation system according to claim 8 , wherein:
said navigation system is written in Java Platform Micro Edition (J2ME) Mobile Information Device Profile (MIDP).
12. The method of providing a plurality of buffers for a physical navigation system according to claim 8 , further comprising:
interfacing said plurality of media players with hardware resources via an asynchronous hardware interface.
13. The method of providing a plurality of buffers for a physical navigation system according to claim 8 , wherein:
said navigation system is implemented in a personal data assistant (PDA).
14. The method of providing a plurality of buffers for a physical navigation system according to claim 8 , wherein:
said navigation system is implemented in a cell phone.
15. The method of providing a plurality of buffers for a physical navigation system according to claim 8 , further comprising:
multi-threading said navigation system.