JRE 16で実行されている不和ボットがあり、正常に動作していますボットは音楽ボットを使用していますLava Player API
JDK 16 で JRE 8 を実行している Qnap サーバーがあるため、ボットは正常にコンパイルされますが、Java レベルは 8 であり、JRE 16 でのみ実行されるコードがあります。
コードは次のとおりです。
public class AudioPlayerSendHandler implements AudioSendHandler {
private final AudioPlayer audioPlayer;
private AudioFrame lastFrame;
public AudioPlayerSendHandler(AudioPlayer audioPlayer) {
this.audioPlayer = audioPlayer;
}
@Override
public boolean canProvide() {
lastFrame = audioPlayer.provide();
return lastFrame != null;
}
@Override
public ByteBuffer provide20MsAudio() {
return ByteBuffer.wrap(lastFrame.getData());
}
@Override
public boolean isOpus() {
return true;
}
}
canProvide()
したがって、コードは、可能であれば true を返すメソッドを介して、ボットにトラックを「歌わせる」ようにしています。
JRE 16 では true を返しますが、JRE 8 では false を返します
コードが true を返すようにするか、Qnap JRE 16 に追加するための解決策はありますか?