Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import java.util.Vector;
- import javax.microedition.lcdui.Command;
- import javax.microedition.lcdui.CommandListener;
- import javax.microedition.lcdui.Displayable;
- import javax.microedition.lcdui.Form;
- import javax.microedition.lcdui.Item;
- import javax.microedition.lcdui.ItemCommandListener;
- import javax.microedition.lcdui.List;
- import javax.microedition.lcdui.StringItem;
- import javax.microedition.lcdui.TextField;
- import javax.microedition.media.Manager;
- import javax.microedition.media.MediaException;
- import javax.microedition.media.Player;
- import javax.microedition.media.control.RecordControl;
- public class PeddyCreateAudioMessage extends Form {
- protected Command backCmd,searchCmd, sendCmd,recordCommand, playCommand;
- private Vector allUsers;
- private StringItem recordButton, playButton, info;
- private StringItem errorItem;
- private Player p;
- private byte[] recordedSoundArray = null;
- public PeddyCreateAudioMessage(String title) {
- super(title);
- init();
- }
- public void init() {
- backCmd=new Command("Back",Command.BACK,1);
- searchCmd=new Command("Search",Command.OK,1);
- sendCmd=new Command("Send",Command.OK,1);
- recordCommand = new Command("Record", Command.SCREEN, 1);
- playCommand = new Command("Play", Command.SCREEN, 2);
- addCommand(sendCmd);
- allUsers=new Vector();
- addCommand(backCmd);
- TextField usernameField=new TextField("Username","",30,TextField.ANY);
- append(usernameField);
- usernameField.addCommand(searchCmd);
- recordButton = new StringItem("Click record to start recording.", "Record",Item.BUTTON);
- info = new StringItem("","");
- recordButton.setLayout(Item.LAYOUT_VCENTER);
- recordButton.setDefaultCommand(recordCommand);
- append(recordButton);
- append(info);
- errorItem = new StringItem("", "");
- append(errorItem);
- playButton = new StringItem("Click record to start playing", "Play",Item.BUTTON);
- playButton.setLayout(Item.LAYOUT_VCENTER);
- playButton.setDefaultCommand(playCommand);
- append(playButton);
- //this.addCommand(playCommand);
- StringBuffer inhalt = new StringBuffer();
- usernameField.setItemCommandListener(new ItemCommandListener() {
- public void commandAction(Command cmd, Item arg1) {
- if(cmd==searchCmd)
- {
- final List l=new List("Users",List.IMPLICIT);
- allUsers.removeAllElements();
- PeddyClient.client.getAllUsers();
- if(PeddyClient.error.length()==0)
- {
- //TO DO
- //GetAllUsers allUsers=new GetAllUsers("All Users",List.IMPLICIT,PeddyCreateAudioMessage.this);
- //allUsers.show();
- }
- }
- }
- });
- recordButton.setItemCommandListener(new ItemCommandListener (){
- public void commandAction(Command cmd, Item arg1) {
- if(cmd == recordCommand) {
- try{
- p = Manager.createPlayer("capture://audio");
- p.realize();
- RecordControl rc = (RecordControl)p.getControl("RecordControl");
- ByteArrayOutputStream output = new ByteArrayOutputStream();
- rc.setRecordStream(output);
- rc.startRecord();
- p.start();
- info.setText("recording...");
- Thread.currentThread().sleep(5000);
- info.setText("done!");
- rc.commit();
- recordedSoundArray = output.toByteArray();
- p.close();
- } catch (IOException ioe) {
- errorItem.setLabel("Error");
- errorItem.setText(ioe.toString());
- } catch (MediaException me) {
- errorItem.setLabel("Error");
- errorItem.setText(me.toString());
- } catch (InterruptedException ie) {
- errorItem.setLabel("Error");
- errorItem.setText(ie.toString());
- }
- }
- }
- });
- playButton.setItemCommandListener(new ItemCommandListener (){
- public void commandAction(Command cmd, Item arg1) {
- if(cmd == playCommand) {
- try {
- ByteArrayInputStream recordedInputStream = new ByteArrayInputStream(recordedSoundArray);
- Player p2 = Manager.createPlayer(recordedInputStream,"audio/amr");
- p2.prefetch();
- p2.start();
- } catch (IOException ioe) {
- errorItem.setLabel("Error");
- errorItem.setText(ioe.toString());
- } catch (MediaException me) {
- errorItem.setLabel("Error");
- errorItem.setText(me.toString());
- }
- }
- }
- });
- }
- public void setCommandListener(CommandListener l) {
- // TODO Auto-generated method stub
- super.setCommandListener(l);
- }
- public void show()
- {
- PeddyClient.mDisplay.setCurrent(this);
- }
- }
Add Comment
Please, Sign In to add comment