Advertisement
Guest User

Untitled

a guest
Nov 19th, 2014
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.57 KB | None | 0 0
  1. public class MainActivity extends Activity {
  2.     private MediaRecorder mediaRecorder;
  3.     private MySocket mySocket;
  4.  
  5.     @Override
  6.     public void onCreate(Bundle savedInstanceState) {
  7.         super.onCreate(savedInstanceState);
  8.         setContentView(R.layout.main);
  9.         Button button= (Button) findViewById(R.id.button);
  10.         mySocket=new MySocket(getApplicationContext());
  11.  
  12.         button.setOnTouchListener(new View.OnTouchListener() {
  13.             @Override
  14.             public boolean onTouch(View v, MotionEvent event) {
  15.                 switch (event.getAction()){
  16.                     case KeyEvent.ACTION_DOWN:
  17. //                        MyMediaRecorder();
  18.                         break;
  19.                     case KeyEvent.ACTION_UP:
  20. //                        mediaRecorder.release();
  21.                         SendAsync sendAsync=new SendAsync(getApplicationContext());
  22.                         sendAsync.execute();
  23.                         break;
  24.                 }
  25.                 return false;
  26.             }
  27.         });
  28.     }
  29.  
  30.     public void MyMediaRecorder(){
  31.         mediaRecorder=new MediaRecorder();
  32.         mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
  33.         mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
  34.         mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
  35.         mediaRecorder.setOutputFile(getFilesDir()+"/mic");
  36.         try {
  37.             mediaRecorder.prepare();
  38.             mediaRecorder.start();
  39.         } catch (IOException e) {
  40.             e.printStackTrace();
  41.         }
  42.     }
  43. }
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54. public class SendAsync extends AsyncTask{
  55.     private Context context;
  56.  
  57.     public SendAsync(Context context){
  58.         this.context=context;
  59.     }
  60.  
  61.     @Override
  62.     protected Object doInBackground(Object[] params) {
  63.         try {
  64.             File file=new File(context.getFilesDir()+"/mic");
  65.             FileInputStream fileInputStream=new FileInputStream(file);
  66.             int size= (int) file.length();
  67.             byte buf[]=new byte[size];
  68.             fileInputStream.read(buf);
  69.             fileInputStream.close();
  70.  
  71.             MySocket.outputStream.write(buf);
  72.             MySocket.outputStream.flush();
  73.         } catch (IOException e) {e.printStackTrace();}
  74.         return null;
  75.     }
  76. }
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84. public class MySocket{
  85.     public static Socket socket;
  86.     private Context context;
  87.     private InputStream inputStream;
  88.     public static OutputStream outputStream;
  89.  
  90.     public MySocket(final Context context){
  91.         this.context=context;
  92.         Thread thread=new Thread(new Runnable() {
  93.             @Override
  94.             public void run() {
  95.                 try {
  96.                     InetAddress inetAddress = InetAddress.getByName("82.112.54.189");
  97.                     socket=new Socket(inetAddress,9999);
  98.                     inputStream=socket.getInputStream();
  99.                     outputStream=socket.getOutputStream();
  100.                     ByteArrayOutputStream byteArray=new ByteArrayOutputStream();
  101.                     int request=0;
  102.                     byte data[]=new byte[1024];
  103.                     while (true){
  104.                         while ( (request=inputStream.read(data))>0 ){
  105.                             byteArray.write(data,0,request);
  106.                             if (request<1024) break;
  107.                         }
  108.                         File file=new File(context.getFilesDir()+"/audio");
  109.                         FileOutputStream fileOutputStream=new FileOutputStream(file);
  110.                         fileOutputStream.write(byteArray.toByteArray());
  111.                         fileOutputStream.close();
  112.                         MediaPlayerAsync mediaPlayerAsync=new MediaPlayerAsync(context,"/mic");
  113.                         byteArray.reset();
  114.  
  115.                         if (request==-1) break;
  116.                     }
  117.                 } catch (java.io.IOException e) {e.printStackTrace();}
  118.             }
  119.         });
  120.         thread.start();
  121.     }
  122. }
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131. public class MediaPlayerAsync{
  132.     private Context context;
  133.     private String path;
  134.     private MediaPlayer mediaPlayer;
  135.  
  136.     public MediaPlayerAsync(Context context,String path){
  137.         this.path=path;
  138.         this.context=context;
  139.  
  140.         try {
  141.             mediaPlayer=new MediaPlayer();
  142.             mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
  143.             mediaPlayer.setDataSource(context.getFilesDir()+path);
  144.             mediaPlayer.prepare();
  145.             mediaPlayer.start();
  146.         } catch (IOException e) {
  147.             e.printStackTrace();
  148.         }
  149.     }
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement