public synchronized void init() { init(DEFAULT_SAMPLE_RATE, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, StreamAudioRecorder.DEFAULT_BUFFER_SIZE); }
@OnClick(R.id.mBtnPlay) public void play() { Observable.just(mOutputFile) .subscribeOn(Schedulers.io()) .subscribe(file -> { try { mStreamAudioPlayer.init(); FileInputStream inputStream = new FileInputStream(file); int read; while ((read = inputStream.read(mBuffer)) > 0) { mStreamAudioPlayer.play(mBuffer, read); } inputStream.close(); mStreamAudioPlayer.release(); } catch (IOException e) { e.printStackTrace(); } }, Throwable::printStackTrace); }
@OnClick(R.id.mBtnPlayChanged) public void playChanged() { Observable.just(mOutputFile) .subscribeOn(Schedulers.io()) .subscribe(file -> { try { mStreamAudioPlayer.init(); FileInputStream inputStream = new FileInputStream(file); int read; while ((read = inputStream.read(mBuffer)) > 0) { mStreamAudioPlayer.play(mRatio == 1 ? mBuffer : mAudioProcessor.process(mRatio, mBuffer, StreamAudioRecorder.DEFAULT_SAMPLE_RATE), read); } inputStream.close(); mStreamAudioPlayer.release(); } catch (IOException e) { e.printStackTrace(); } }, Throwable::printStackTrace); }