Микширование

Предыдущая  Содержание  Следующая  V*D*V

Микширование выполняется путем суммирования отсчетов двух потоков.

Следует учитывать возможность клипирования уровня, поэтому необходимо иметь запас по уровню и производить микширование желательно на уровнях менее -6 дБ.

Реализация

   public static short[] mix(short[] snd1, short[] snd2) {

         short[] mix = new short[Math.min(snd1.length, snd2.length)];

         for( int i = 0; i < Math.min( snd1.length, snd2.length ); ) {

          int s1 = snd1[i];

          int s2 = snd2[i];

          int d = s1 + s2;

          if( d > 32767 ) d = 32767;

          if( d < -32768 ) d = -32768;

          mix[i++] = (short)d;

         }

         return mix;

   }

Предыдущая  Содержание  Следующая