删除音频样本的特定部分

时间:2017-11-10 08:06:44

标签: java audio

我对java很新,我在尝试删除音频样本的特定部分时遇到了问题。音频长64513个样本。我试图删除大致样本16000-32000。我不太确定如何删除我认为的集合的特定部分?

import Media.*;                  // for Picture and Sound etc.

import java.awt.*;               // for Color objects and methods

import static java.lang.Math.*;  // for math constants and functions

import static java.awt.Color.*;  // for Color constants

public Censoring ( ) {

    Sound sound;
    Sound newCensor;

    player = new SoundPlayer();
    sound = new Sound();
    player.placeSound(sound);
    player.waitForUser();
    newCensor = censor(sound, 16000, 32000);
    player.close();
    sound.save(); 

}; 




private Sound censor ( Sound aSound, int from, int to) {
  Sound result;
  Sample s;
  int numSamples;      
  numSamples = aSound.getNumSamples();

  result = new Sound(s, aSound);
  for( int i = 0; i < numSamples; i++ ){

    if( i <= from && i >= to) { 
      s = aSound.getSample(i);
    }; 

  }; 
  return result;



};

这是我从&#34;结果=新声音(s,aSound)得到的错误;&#34;

Error: incompatible types: Media.Sample cannot be converted to int

我相信我已经选择了所有样本值(i),我想保留声音文件,但是如何使用新样本制作新声音?感谢。

1 个答案:

答案 0 :(得分:0)

错误消息通知您Media.Sample类没有remove(Sound)方法。 看documentation,我们发现这是正确的 - 它只有改变幅度的方法。

这似乎是一项家庭作业。我不完全确定你的教授正在寻找什么。我自己,我会从你要保留的样本中创建一个新的Sound