Witam mam pytanie w jaki sposób zabrać się za przesyłanie głosu przez sockety ? I odtwarzanie dzwieku w czasie rzeczywsitym po stronie serwera?
Próbowałem w taki sposób ale nie wiem co dalej..
Dziękuje z góry za pomoc
public void startRecording(View w){
new Thread(new Runnable() {
@Override
public void run() {
final Statement result;
try {
//wyslanie do serwera zapytania o chec rozpoczecia nadawania glosu z mikrofonu, startuje wtedy serwer do ktorego mozemy sie podlaczyc
result = Client.sendStatement(new Statement(Statement.SEND_VOICE,Statement.ACTION_START, ""));
Socket socket = new Socket("172.16.64.104",9989);
ParcelFileDescriptor parcelFileDescriptor = ParcelFileDescriptor.fromSocket(socket);
mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setOutputFile(parcelFileDescriptor.getFileDescriptor());
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
mediaRecorder.prepare();
mediaRecorder.start();
} catch (IOException e) {
finish();
Client.isConnected = false;
}
}
}).start();
}
public void stopRecording(View w){
mediaRecorder.stop();
mediaRecorder.release();
mediaRecorder = null;
}
Serwer przy starcie nagrywania odbiera jakas ramke potem przy kliknieciu buttonu stop wysylany jest caly dzwięk. Jak moza to zrobic zeby realtime dostawac?