Guest User

Untitled

a guest
Jun 18th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.80 KB | None | 0 0
  1. import java.io.ByteArrayInputStream;
  2. import java.io.ByteArrayOutputStream;
  3. import java.io.IOException;
  4. import java.util.Vector;
  5.  
  6. import javax.microedition.lcdui.Command;
  7. import javax.microedition.lcdui.CommandListener;
  8. import javax.microedition.lcdui.Displayable;
  9. import javax.microedition.lcdui.Form;
  10. import javax.microedition.lcdui.Item;
  11. import javax.microedition.lcdui.ItemCommandListener;
  12. import javax.microedition.lcdui.List;
  13. import javax.microedition.lcdui.StringItem;
  14. import javax.microedition.lcdui.TextField;
  15. import javax.microedition.media.Manager;
  16. import javax.microedition.media.MediaException;
  17. import javax.microedition.media.Player;
  18. import javax.microedition.media.control.RecordControl;
  19.  
  20.  
  21.  
  22.  
  23. public class PeddyCreateAudioMessage extends Form {
  24.  
  25. protected Command backCmd,searchCmd, sendCmd,recordCommand, playCommand;
  26. private Vector allUsers;
  27. private StringItem recordButton, playButton, info;
  28. private StringItem errorItem;
  29.  
  30. private Player p;
  31. private byte[] recordedSoundArray = null;
  32.  
  33.  
  34. public PeddyCreateAudioMessage(String title) {
  35. super(title);
  36. init();
  37. }
  38.  
  39.  
  40. public void init() {
  41.  
  42. backCmd=new Command("Back",Command.BACK,1);
  43. searchCmd=new Command("Search",Command.OK,1);
  44. sendCmd=new Command("Send",Command.OK,1);
  45. recordCommand = new Command("Record", Command.SCREEN, 1);
  46. playCommand = new Command("Play", Command.SCREEN, 2);
  47.  
  48. addCommand(sendCmd);
  49. allUsers=new Vector();
  50. addCommand(backCmd);
  51.  
  52.  
  53.  
  54.  
  55. TextField usernameField=new TextField("Username","",30,TextField.ANY);
  56. append(usernameField);
  57. usernameField.addCommand(searchCmd);
  58.  
  59. recordButton = new StringItem("Click record to start recording.", "Record",Item.BUTTON);
  60. info = new StringItem("","");
  61. recordButton.setLayout(Item.LAYOUT_VCENTER);
  62. recordButton.setDefaultCommand(recordCommand);
  63. append(recordButton);
  64. append(info);
  65.  
  66. errorItem = new StringItem("", "");
  67. append(errorItem);
  68.  
  69.  
  70. playButton = new StringItem("Click record to start playing", "Play",Item.BUTTON);
  71. playButton.setLayout(Item.LAYOUT_VCENTER);
  72. playButton.setDefaultCommand(playCommand);
  73. append(playButton);
  74.  
  75.  
  76. //this.addCommand(playCommand);
  77. StringBuffer inhalt = new StringBuffer();
  78.  
  79. usernameField.setItemCommandListener(new ItemCommandListener() {
  80.  
  81. public void commandAction(Command cmd, Item arg1) {
  82.  
  83. if(cmd==searchCmd)
  84. {
  85. final List l=new List("Users",List.IMPLICIT);
  86. allUsers.removeAllElements();
  87. PeddyClient.client.getAllUsers();
  88. if(PeddyClient.error.length()==0)
  89. {
  90. //TO DO
  91. //GetAllUsers allUsers=new GetAllUsers("All Users",List.IMPLICIT,PeddyCreateAudioMessage.this);
  92. //allUsers.show();
  93.  
  94. }
  95.  
  96.  
  97. }
  98. }
  99.  
  100. });
  101.  
  102.  
  103.  
  104. recordButton.setItemCommandListener(new ItemCommandListener (){
  105.  
  106. public void commandAction(Command cmd, Item arg1) {
  107. if(cmd == recordCommand) {
  108. try{
  109. p = Manager.createPlayer("capture://audio");
  110. p.realize();
  111. RecordControl rc = (RecordControl)p.getControl("RecordControl");
  112. ByteArrayOutputStream output = new ByteArrayOutputStream();
  113. rc.setRecordStream(output);
  114. rc.startRecord();
  115. p.start();
  116. info.setText("recording...");
  117. Thread.currentThread().sleep(5000);
  118. info.setText("done!");
  119. rc.commit();
  120. recordedSoundArray = output.toByteArray();
  121. p.close();
  122. } catch (IOException ioe) {
  123. errorItem.setLabel("Error");
  124. errorItem.setText(ioe.toString());
  125. } catch (MediaException me) {
  126. errorItem.setLabel("Error");
  127. errorItem.setText(me.toString());
  128. } catch (InterruptedException ie) {
  129. errorItem.setLabel("Error");
  130. errorItem.setText(ie.toString());
  131. }
  132. }
  133.  
  134. }
  135.  
  136. });
  137.  
  138.  
  139.  
  140.  
  141.  
  142. playButton.setItemCommandListener(new ItemCommandListener (){
  143.  
  144. public void commandAction(Command cmd, Item arg1) {
  145. if(cmd == playCommand) {
  146. try {
  147. ByteArrayInputStream recordedInputStream = new ByteArrayInputStream(recordedSoundArray);
  148. Player p2 = Manager.createPlayer(recordedInputStream,"audio/amr");
  149. p2.prefetch();
  150. p2.start();
  151. } catch (IOException ioe) {
  152. errorItem.setLabel("Error");
  153. errorItem.setText(ioe.toString());
  154. } catch (MediaException me) {
  155. errorItem.setLabel("Error");
  156. errorItem.setText(me.toString());
  157. }
  158. }
  159.  
  160. }
  161.  
  162.  
  163. });
  164.  
  165. }
  166.  
  167. public void setCommandListener(CommandListener l) {
  168. // TODO Auto-generated method stub
  169. super.setCommandListener(l);
  170. }
  171.  
  172.  
  173. public void show()
  174. {
  175. PeddyClient.mDisplay.setCurrent(this);
  176. }
  177. }
Add Comment
Please, Sign In to add comment