Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.84 KB | None | 0 0
  1. package com.example.thomas.android_ss1;
  2.  
  3. import android.Manifest;
  4. import android.content.Context;
  5. import android.content.pm.PackageManager;
  6. import android.media.MediaPlayer;
  7. import android.media.MediaRecorder;
  8. import android.os.Bundle;
  9. import android.os.Handler;
  10. import android.os.Message;
  11. import android.support.annotation.NonNull;
  12. import android.support.v4.app.ActivityCompat;
  13. import android.support.v7.app.AppCompatActivity;
  14. import android.util.Log;
  15. import android.view.View;
  16. import android.view.ViewGroup;
  17. import android.widget.Button;
  18. import android.widget.LinearLayout;
  19. import android.widget.SeekBar;
  20. import android.widget.TextView;
  21. import android.widget.Toast;
  22.  
  23. import org.w3c.dom.Text;
  24.  
  25. import java.io.IOException;
  26.  
  27. public class MainActivity extends AppCompatActivity {
  28.  
  29. private static final String LOG_TAG = "AudioRecordTest";
  30. private static final int REQUEST_RECORD_AUDIO_PERMISSION = 200;
  31.  
  32. private MediaRecorder mRecorder = null;
  33.  
  34. private MediaPlayer mPlayer = null;
  35. private Metronome metronomeThread;
  36.  
  37. // Requesting permission to RECORD_AUDIO
  38. private boolean permissionToRecordAccepted = false;
  39. private String [] permissions = {Manifest.permission.RECORD_AUDIO};
  40.  
  41. @Override
  42. public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
  43. super.onRequestPermissionsResult(requestCode, permissions, grantResults);
  44. switch (requestCode){
  45. case REQUEST_RECORD_AUDIO_PERMISSION:
  46. permissionToRecordAccepted = grantResults[0] == PackageManager.PERMISSION_GRANTED;
  47. break;
  48. }
  49. if (!permissionToRecordAccepted ) finish();
  50.  
  51. }
  52.  
  53.  
  54.  
  55. Metronome metronome = new Metronome();
  56.  
  57. @Override
  58. public void onCreate(Bundle SavedInstanceState) {
  59. super.onCreate(SavedInstanceState);
  60. setContentView(R.layout.activity_main);
  61.  
  62. //AudioGenerator audio = new AudioGenerator(8000);
  63.  
  64.  
  65.  
  66.  
  67. Button button = findViewById(R.id.buttonMetronome);
  68. button.setOnClickListener(new View.OnClickListener() {
  69. public void onClick(View v) {
  70. if(metronome.play) metronome.stopPlayingMetronome();
  71. if(!metronome.play){
  72. Thread metronomeThread = new Thread();
  73. metronomeThread.start();
  74. };
  75. }
  76. });
  77.  
  78.  
  79. SeekBar seekbar = findViewById(R.id.seekBar);
  80. seekbar.setMax(200);
  81. seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
  82. int progressChangedValue = 0;
  83. @Override
  84. public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
  85. progressChangedValue = progress;
  86. }
  87.  
  88. @Override
  89. public void onStartTrackingTouch(SeekBar seekBar) {
  90.  
  91. }
  92.  
  93. @Override
  94. public void onStopTrackingTouch(SeekBar seekBar) {
  95. metronome.bpm = progressChangedValue;
  96. metronome.calcSilence();
  97. Toast.makeText(MainActivity.this, "BPM is :" + metronome.bpm,
  98. Toast.LENGTH_SHORT).show();
  99. }
  100. });
  101.  
  102. //double[] silence = audio.getSineWave(2000, 8000, 0);
  103.  
  104. //int noteDuration = 2400;
  105. //double[] doNote = audio.getSineWave(noteDuration/2, 8000, 1000);
  106. //double[] deNote = audio.getSineWave(noteDuration/2, 8000, 500);
  107.  
  108. //audio.createPlayer();
  109. // audio.writeSound(doNote);
  110. // audio.writeSound(silence);
  111. // audio.writeSound(deNote);
  112. // audio.writeSound(silence);
  113.  
  114. //audio.destroyAudioTrack();
  115.  
  116. ActivityCompat.requestPermissions(this, permissions, REQUEST_RECORD_AUDIO_PERMISSION);
  117.  
  118. }
  119.  
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement