1) Stream audio data from client's microphone to server
2) Allow javascript to interact with it. You can refer to http://www.raditha.com/java/javascript.php for example.
3) Configurable options are
3.1) Remote IP/port to send data to
3.2) Codec and related options
3.3) Protocol to use. Possible values are RTP, UDP, TCP
3.4) Maximum time for recording
3.5) Set microphone and its volume
4) Before streaming the applet should give the following information to the javascript code
4.1) Local IP and port used for sending media
5) The javascript code should implement the user-interface
5.1) Start/Stop Recoding button
5.2) show recording time in seconds
6) Documentation of compilation/installation required for compiling java code
7) The data should be compressed using low bit-rate codec e.g. AMR-NB, GSM and iLBC. More than one codec should be supported
8) Errors should be handled gracefully
9) The code should be well documented.
10) Java and javascript code should have a clean API.
11) The interaction between javascript and java applet should be in JSON
12) The code should be browser-independent
Sample Interaction between user, java and javascript
JS = javascript code
U = User
J = Java applet
JS->J : Send Remote IP and port, code, protocol, microphone, maximum recording time.
J->JS : Send Local IP and port that will be used to send data
JS->U : Enable "Recording" button
U->JS : Press "Recording" button
JS->J : Give recording command
(after some time)
U->JS : Press "Stop" button
JS->J : Give stop command
JS->J : Give status command
J->JS : Return status (number of bytes sent)
Deliverables
1) test html page with all the with all the options to be sent to the applet and show the data sent from the applet
2) javascript code to interact with the applet
3) Applet code
4) applet compilation instructions
Server-side recording implementation for RTP, TCP and UDP recording implementation will be provided.
接包方 | 国家/地区 | |
---|---|---|
![]() |
3
Iphonedevelopment
|
|
![]() |
3
Pocoapps
|
|
3
Leafeatergames
(中标)
|
||
![]() |
3
Syntecx
|
|
![]() |
3
Dimashia
|