@Override public TrackStartRequestMessage decode(DataInput in, int version) throws IOException { long executorId = in.readLong(); AudioTrackInfo trackInfo = new AudioTrackInfo(in.readUTF(), in.readUTF(), in.readLong(), in.readUTF(), in.readBoolean(), null); byte[] encodedTrack = new byte[in.readInt()]; in.readFully(encodedTrack); int volume = in.readInt(); AudioConfiguration configuration = new AudioConfiguration(); configuration.setResamplingQuality(AudioConfiguration.ResamplingQuality.valueOf(in.readUTF())); configuration.setOpusEncodingQuality(in.readInt()); if (version >= VERSION_WITH_FORMAT) { AudioDataFormat format = createFormat(in.readInt(), in.readInt(), in.readInt(), in.readUTF()); configuration.setOutputFormat(format); } long position = 0; if (version >= VERSION_WITH_POSITION) { position = in.readLong(); } return new TrackStartRequestMessage(executorId, trackInfo, encodedTrack, volume, configuration, position); }
@Override public void encode(DataOutput out, TrackStartRequestMessage message) throws IOException { int version = version(message); out.writeLong(message.executorId); out.writeUTF(message.trackInfo.title); out.writeUTF(message.trackInfo.author); out.writeLong(message.trackInfo.length); out.writeUTF(message.trackInfo.identifier); out.writeBoolean(message.trackInfo.isStream); out.writeInt(message.encodedTrack.length); out.write(message.encodedTrack); out.writeInt(message.volume); out.writeUTF(message.configuration.getResamplingQuality().name()); out.writeInt(message.configuration.getOpusEncodingQuality()); if (version >= VERSION_WITH_FORMAT) { AudioDataFormat format = message.configuration.getOutputFormat(); out.writeInt(format.channelCount); out.writeInt(format.sampleRate); out.writeInt(format.chunkSampleCount); out.writeUTF(format.codecName()); } if (version >= VERSION_WITH_POSITION) { out.writeLong(message.position); } }
AudioConfiguration.ResamplingQuality.valueOf( getConfig().getString("audio-quality.resampling", "medium").toUpperCase() );
public AudioPlayerManager getPlayerManager() { if (playerManager == null) { playerManager = registerSourceManagers(new DefaultAudioPlayerManager()); playerManager.getConfiguration().setResamplingQuality( AudioConfiguration.ResamplingQuality.valueOf( avaire.getConfig().getString("audio-quality.resampling", "medium").toUpperCase() ) ); playerManager.getConfiguration().setOpusEncodingQuality( avaire.getConfig().getInt("audio-quality.encoding", AudioConfiguration.OPUS_QUALITY_MAX) ); if (LavalinkManager.LavalinkManagerHolder.lavalink.isEnabled()) { playerManager.enableGcMonitoring(); } playerManager.setFrameBufferDuration(1000); playerManager.setItemLoaderThreadPoolSize(500); AudioSourceManagers.registerRemoteSources(playerManager); AudioSourceManagers.registerLocalSource(playerManager); } return playerManager; }