проблема в превращении Java-файла в Android - PullRequest
0 голосов
/ 07 марта 2011

У меня есть Java-проект, который был создан в NetBeans, теперь я пытаюсь изменить его на Android-проект в Eclipse, но он показывает много ошибок.Может ли один PLS помочь мне в устранении ошибок

public abstract class BaseOutputAudioDevice extends AudioDeviceBase {
private Logger log = Logger.getLogger(BaseOutputAudioDevice.class.getName());

protected int position = 0;
protected int freq;
protected int channels;
protected int samplesPerMillisecond;
protected boolean init = false;
protected SampleProcessor processor;

public BaseOutputAudioDevice(SampleProcessor processor) {
    this.processor = processor;
}

@Override
protected void openImpl() throws JavaLayerException {
    super.openImpl();
}

@Override
protected void writeImpl(short[] samples, int offs, int len) throws JavaLayerException {
    if(!init)
    {
        log.log(Level.INFO, "number of channels: " + getDecoder().getOutputChannels());
        log.log(Level.INFO, "number of samples: " + getDecoder().getOutputFrequency());
        freq = getDecoder().getOutputFrequency();
        channels = getDecoder().getOutputChannels();
        samplesPerMillisecond = (freq * channels)/1000;
        log.log(Level.INFO, "samples/ms: " + samplesPerMillisecond);
        log.log(Level.INFO, "buffer length: " + len);
        if(processor != null)
            processor.init(freq, channels);
        init = true;
    }
    position += len/samplesPerMillisecond;

    outputImpl(samples, offs, len);
}

protected abstract void outputImpl(short[] samples, int offs, int len) throws JavaLayerException;

/**
 * Retrieves the current playback position in milliseconds.
*/
public int getPosition() {
    log.log(Level.FINE, "position: " + position + "ms");
    return position;
}

public SampleProcessor getProcessor() {
    return processor;
}

public void setProcessor(SampleProcessor processor) {
    this.processor = processor;
}
}

Редактировать

Он показывает ошибки в следующих строках

log.log(Level.INFO, "number of channels: " + getDecoder().getOutputChannels());
log.log(Level.INFO, "number of samples: " + getDecoder().getOutputFrequency());
freq = getDecoder().getOutputFrequency();
channels = getDecoder().getOutputChannels();

1 Ответ

3 голосов
/ 07 марта 2011

Вы пытаетесь работать с библиотеками, которые не существуют на Android.Например, ваши строки log.log выглядят подозрительно, как вызов Log4J.Вам нужно изолировать эти строки и работать с их эквивалентом в Android.В примере с Log4J - попробуйте поработать с регистратором Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...