@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); androidGlue = new AndroidGlue(); AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); String srs = audioManager.getProperty(AudioManager.PROPERTY_OUTPUT_SAMPLE_RATE); String fpbs = audioManager.getProperty(AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER); int sampleRate = Integer.parseInt(srs); int bufferSize = Integer.parseInt(fpbs); androidGlue.synthInit(false, sampleRate, bufferSize, 90); waveView = (WaveView) this.findViewById(R.id.waveView1); MIDIKeysView = (MIDIKeys) this.findViewById(R.id.mIDIKeys1); MIDIKeysView.setSynthGlue(androidGlue); updateWaveView(); handler = new Handler(); handler.postDelayed(updater, interval); }
@Override protected void onDestroy() { super.onDestroy(); handler.removeCallbacks(updater); androidGlue.synthDestroy(); }
protected void updateWaveView() { short[] buffer = androidGlue.getOutputBuffer(); waveView.setWaveTable(buffer); waveView.invalidate(); }