Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MainActivity extends Activity {
- private MediaRecorder mediaRecorder;
- private MySocket mySocket;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- Button button= (Button) findViewById(R.id.button);
- mySocket=new MySocket(getApplicationContext());
- button.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- switch (event.getAction()){
- case KeyEvent.ACTION_DOWN:
- // MyMediaRecorder();
- break;
- case KeyEvent.ACTION_UP:
- // mediaRecorder.release();
- SendAsync sendAsync=new SendAsync(getApplicationContext());
- sendAsync.execute();
- break;
- }
- return false;
- }
- });
- }
- public void MyMediaRecorder(){
- mediaRecorder=new MediaRecorder();
- mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
- mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
- mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
- mediaRecorder.setOutputFile(getFilesDir()+"/mic");
- try {
- mediaRecorder.prepare();
- mediaRecorder.start();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- public class SendAsync extends AsyncTask{
- private Context context;
- public SendAsync(Context context){
- this.context=context;
- }
- @Override
- protected Object doInBackground(Object[] params) {
- try {
- File file=new File(context.getFilesDir()+"/mic");
- FileInputStream fileInputStream=new FileInputStream(file);
- int size= (int) file.length();
- byte buf[]=new byte[size];
- fileInputStream.read(buf);
- fileInputStream.close();
- MySocket.outputStream.write(buf);
- MySocket.outputStream.flush();
- } catch (IOException e) {e.printStackTrace();}
- return null;
- }
- }
- public class MySocket{
- public static Socket socket;
- private Context context;
- private InputStream inputStream;
- public static OutputStream outputStream;
- public MySocket(final Context context){
- this.context=context;
- Thread thread=new Thread(new Runnable() {
- @Override
- public void run() {
- try {
- InetAddress inetAddress = InetAddress.getByName("82.112.54.189");
- socket=new Socket(inetAddress,9999);
- inputStream=socket.getInputStream();
- outputStream=socket.getOutputStream();
- ByteArrayOutputStream byteArray=new ByteArrayOutputStream();
- int request=0;
- byte data[]=new byte[1024];
- while (true){
- while ( (request=inputStream.read(data))>0 ){
- byteArray.write(data,0,request);
- if (request<1024) break;
- }
- File file=new File(context.getFilesDir()+"/audio");
- FileOutputStream fileOutputStream=new FileOutputStream(file);
- fileOutputStream.write(byteArray.toByteArray());
- fileOutputStream.close();
- MediaPlayerAsync mediaPlayerAsync=new MediaPlayerAsync(context,"/mic");
- byteArray.reset();
- if (request==-1) break;
- }
- } catch (java.io.IOException e) {e.printStackTrace();}
- }
- });
- thread.start();
- }
- }
- public class MediaPlayerAsync{
- private Context context;
- private String path;
- private MediaPlayer mediaPlayer;
- public MediaPlayerAsync(Context context,String path){
- this.path=path;
- this.context=context;
- try {
- mediaPlayer=new MediaPlayer();
- mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
- mediaPlayer.setDataSource(context.getFilesDir()+path);
- mediaPlayer.prepare();
- mediaPlayer.start();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement