public class MainActivity extends AppCompatActivity { AudioTrack audioTrack; Button bottone; int minBufferSize=AudioTrack.getMinBufferSize(44100, AudioFormat.CHANNEL_IN_STEREO, AudioFormat.ENCODING_PCM_8BIT); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bottone=(Button)findViewById(R.id.button); playSound(440,10); } private void playSound(double frequency, int duration) { // AudioTrack definition int mBufferSize = AudioTrack.getMinBufferSize(44100, AudioFormat.CHANNEL_OUT_STEREO, AudioFormat.ENCODING_PCM_8BIT); AudioTrack mAudioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_OUT_STEREO, AudioFormat.ENCODING_PCM_16BIT, mBufferSize, AudioTrack.MODE_STREAM); // Sine wave double[] mSound = new double[1000000]; short[] mBuffer = new short[1000000]; for (int i = 0; i < mSound.length; i++) { mSound[i] = Math.sin((2.0*Math.PI * i/(44100/frequency))); mBuffer[i] = (short) (mSound[i]*Short.MAX_VALUE); } mAudioTrack.setStereoVolume(AudioTrack.getMaxVolume(), AudioTrack.getMaxVolume()); mAudioTrack.play(); mAudioTrack.write(mBuffer, 0, mSound.length); mAudioTrack.stop(); mAudioTrack.release(); } }Bene. Me lo salvo e poi vedrò come utilizzarlo.
Miei appunti liberi, senza pretesa di dire necessariamente sempre cose giuste o sensate, durante l'apprendimento e la pratica della programmazione
JavascriptProva
giovedì 17 novembre 2016
440 Hz audioTrack
Ecco il codice per l'emissione di un LA (440 Hz):
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento