75 lines
2.2 KiB
Java
75 lines
2.2 KiB
Java
package com.smarthomies.realtimetalk;
|
|
|
|
import android.app.Application;
|
|
import android.util.Log;
|
|
|
|
import com.smarthomies.realtimetalk.utils.MediaRecorderThread;
|
|
import com.smarthomies.realtimetalk.utils.MediaStreamServer;
|
|
import com.smarthomies.realtimetalk.utils.MediaStreamerThread;
|
|
import com.smarthomies.realtimetalk.utils.RTTAppHelper;
|
|
import com.smarthomies.realtimetalk.utils.SocketAudioPlayer;
|
|
import com.smarthomies.realtimetalk.utils.SocketAudioRecorder;
|
|
|
|
import java.net.Socket;
|
|
|
|
import io.realm.Realm;
|
|
|
|
/**
|
|
* Created by ensar on 31/10/16.
|
|
*/
|
|
public class RTTApp extends Application implements MediaStreamServer.CallCallbacks {
|
|
public static final String TAG = RTTApp.class.getSimpleName();
|
|
|
|
private SocketAudioRecorder socketAudioRecorder;
|
|
|
|
@Override
|
|
public void onCreate() {
|
|
super.onCreate();
|
|
|
|
RTTAppHelper.getInstance().initWithContext(getApplicationContext());
|
|
|
|
Realm.init(this);
|
|
|
|
MediaStreamServer.initWithContext(this);
|
|
|
|
MediaStreamServer.getInstance().setCallListener(this);
|
|
MediaStreamServer.getInstance().startListeningToPort();
|
|
|
|
MediaStreamerThread.initWithContext(this);
|
|
MediaStreamerThread.getInstance().start();
|
|
|
|
MediaRecorderThread.initWithContext(this);
|
|
MediaRecorderThread.getInstance().start();
|
|
}
|
|
|
|
@Override
|
|
public void onError(int errorCode) {
|
|
Log.d(TAG, "onError: " + errorCode);
|
|
}
|
|
|
|
@Override
|
|
public void onConnectionRequested(Socket sourceSocket) {
|
|
Log.d(TAG, "onConnectionRequested: ");
|
|
if(socketAudioRecorder != null) {
|
|
socketAudioRecorder.stop();
|
|
}
|
|
socketAudioRecorder = MediaRecorderThread.getInstance().startStreamingAudio(sourceSocket.getInetAddress().toString().substring(1), 8087);
|
|
}
|
|
|
|
@Override
|
|
public void onConnectionFinished() {
|
|
Log.d(TAG, "onConnectionFinished: ");
|
|
if(socketAudioRecorder != null) {
|
|
socketAudioRecorder.stop();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onTerminate() {
|
|
super.onTerminate();
|
|
MediaStreamServer.getInstance().stop();
|
|
MediaStreamerThread.getInstance().interrupt();
|
|
MediaRecorderThread.getInstance().interrupt();
|
|
}
|
|
}
|