小编JCL*_*JCL的帖子

Android AudioTrack缓冲问题

好的,我有一个频率发生器,它使用AudioTrack将PCM数据发送到硬件.这是我正在使用的代码:

private class playSoundTask extends AsyncTask<Void, Void, Void> {
  float frequency;
  float increment;
  float angle = 0;
  short samples[] = new short[1024];

  @Override
  protected void onPreExecute() {
   int minSize = AudioTrack.getMinBufferSize( 44100, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT );        
   track = new AudioTrack( AudioManager.STREAM_MUSIC, 44100, 
     AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, 
     minSize, AudioTrack.MODE_STREAM);
   track.play();
  }

  @Override
  protected Void doInBackground(Void... params) {
   while( Main.this.isPlaying)
   {
    for( int i = 0; i < samples.length; i++ )
    {
     frequency = (float)Main.this.slider.getProgress();
     increment = (float)(2*Math.PI) * frequency / 44100;
     samples[i] = (short)((float)Math.sin( …
Run Code Online (Sandbox Code Playgroud)

audio android buffer

15
推荐指数
1
解决办法
2万
查看次数

Android:录制SoundPool输出

我允许用户按下按钮,通过SoundPool播放声音.是否可以录制SoundPool正在播放的内容,以便用户可以录制一系列声音?

audio android recording soundpool

9
推荐指数
1
解决办法
1165
查看次数

标签 统计

android ×2

audio ×2

buffer ×1

recording ×1

soundpool ×1