|
|
@ -7,7 +7,6 @@ import android.hardware.Camera.Size;
|
|
|
|
import android.media.AudioRecord;
|
|
|
|
import android.media.AudioRecord;
|
|
|
|
import android.media.MediaRecorder;
|
|
|
|
import android.media.MediaRecorder;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.os.Looper;
|
|
|
|
|
|
|
|
import android.util.Log;
|
|
|
|
import android.util.Log;
|
|
|
|
import android.view.Menu;
|
|
|
|
import android.view.Menu;
|
|
|
|
import android.view.MenuItem;
|
|
|
|
import android.view.MenuItem;
|
|
|
@ -38,8 +37,7 @@ public class MainActivity extends Activity implements SurfaceHolder.Callback, Ca
|
|
|
|
private byte[] mYuvFrameBuffer;
|
|
|
|
private byte[] mYuvFrameBuffer;
|
|
|
|
|
|
|
|
|
|
|
|
private SrsEncoder mEncoder;
|
|
|
|
private SrsEncoder mEncoder;
|
|
|
|
private String mErrMsg;
|
|
|
|
private String mIoErrMsg;
|
|
|
|
// settings storage
|
|
|
|
|
|
|
|
private SharedPreferences sp;
|
|
|
|
private SharedPreferences sp;
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
@ -130,25 +128,16 @@ public class MainActivity extends Activity implements SurfaceHolder.Callback, Ca
|
|
|
|
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
|
|
|
|
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void uncaughtException(Thread thread, Throwable ex) {
|
|
|
|
public void uncaughtException(Thread thread, Throwable ex) {
|
|
|
|
Toast.makeText(getApplicationContext(), ex.getLocalizedMessage(), Toast.LENGTH_LONG).show();
|
|
|
|
mIoErrMsg = ex.getMessage();
|
|
|
|
}
|
|
|
|
runOnUiThread(new Runnable() {
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void uncaughtException(Thread thread, Throwable ex) {
|
|
|
|
|
|
|
|
mErrMsg = ex.getMessage();
|
|
|
|
|
|
|
|
new Thread(new Runnable() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
public void run() {
|
|
|
|
Looper.prepare();
|
|
|
|
Toast.makeText(getApplicationContext(), mIoErrMsg, Toast.LENGTH_SHORT).show();
|
|
|
|
Toast.makeText(getApplicationContext(), mErrMsg, Toast.LENGTH_SHORT).show();
|
|
|
|
|
|
|
|
Looper.loop();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}).start();
|
|
|
|
|
|
|
|
stopPublish();
|
|
|
|
|
|
|
|
btnPublish.setEnabled(true);
|
|
|
|
btnPublish.setEnabled(true);
|
|
|
|
btnStop.setEnabled(false);
|
|
|
|
btnStop.setEnabled(false);
|
|
|
|
|
|
|
|
stopPublish();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -310,6 +299,7 @@ public class MainActivity extends Activity implements SurfaceHolder.Callback, Ca
|
|
|
|
aworker.join();
|
|
|
|
aworker.join();
|
|
|
|
} catch (InterruptedException e) {
|
|
|
|
} catch (InterruptedException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
aworker.interrupt();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
aworker = null;
|
|
|
|
aworker = null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|