我对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),我想保留声音文件,但是如何使用新样本制作新声音?感谢。
答案 0 :(得分:0)
错误消息通知您Media.Sample
类没有remove(Sound)
方法。
看documentation,我们发现这是正确的 - 它只有改变幅度的方法。
这似乎是一项家庭作业。我不完全确定你的教授正在寻找什么。我自己,我会从你要保留的样本中创建一个新的Sound
。