Этот код производит непрерывный звук и работает, когда я удаляю df.calculateFreq() из класса ThreadMain. Когда я помещаю его в метод genTone() ниже, консоль печатает «тест» только один раз, а затем останавливается, а без него код работает нормально. Не хватает ли времени для обработки дополнительных данных? Спасибо, и ошибок нет.График фиксированной ставки, отказывающийся работать
public ThreadMain() {
audio = new AudioGenerator(10000);
audio.createPlayer();
dF = new DetermineFreq();
exec = Executors.newSingleThreadScheduledExecutor();
exec.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
//RUN FUNC every 20 millisecond
genTone();
}
}, 0, 50, TimeUnit.MILLISECONDS);
}
public void genTone(){
System.out.println("test");
dF.calculateFreq(); <--- this
tone = audio.getSineWave(noteDuration, 10000, 200);
audio.writeSound(tone);
}
public class DetermineFreq{
MainActivity main;
float accelX;
public void DetermineFreq() {
main = new MainActivity();
}
public void calculateFreq() {
accelX = main.getAccelX();
System.out.println(accelX);
}
}