nb2
This commit is contained in:
parent
01573626a2
commit
b0d87c0d13
@ -8,28 +8,16 @@ import java.io.ObjectOutputStream
|
||||
import java.io.Serializable
|
||||
import java.net.InetSocketAddress
|
||||
import java.net.Socket
|
||||
import javax.sound.sampled.AudioFormat
|
||||
import javax.sound.sampled.AudioSystem
|
||||
import kotlin.system.measureTimeMillis
|
||||
|
||||
val SERVER_PORT = 7890
|
||||
val SERVER_PORT = 7860
|
||||
val ECHO_CANCELLATION = true
|
||||
val PACKET_SAMPLES = 2880
|
||||
val SAMPLE_RATE = 48000
|
||||
val CHANNELS = 1
|
||||
val BUFFER_SIZE = PACKET_SAMPLES * CHANNELS
|
||||
|
||||
val bufferOut = ByteArray(BUFFER_SIZE * 2)
|
||||
val bufferIn = ByteArray(BUFFER_SIZE * 2)
|
||||
val format = AudioConvert.getAudioFormat(SAMPLE_RATE, CHANNELS)
|
||||
|
||||
val decoder = OpusDecoder(SAMPLE_RATE, CHANNELS)
|
||||
val encoder = OpusEncoder(SAMPLE_RATE, CHANNELS, OpusApplication.OPUS_APPLICATION_AUDIO).also {
|
||||
it.bitrate = 96000
|
||||
it.forceMode = OpusMode.MODE_CELT_ONLY
|
||||
it.signalType = OpusSignal.OPUS_SIGNAL_MUSIC
|
||||
it.complexity = 0
|
||||
}
|
||||
val AUDIO_FORMAT = AudioConvert.getAudioFormat(SAMPLE_RATE, CHANNELS)
|
||||
|
||||
object Client {
|
||||
@JvmStatic
|
||||
@ -47,22 +35,32 @@ fun mainClient() = runBlocking {
|
||||
val socket = Socket()
|
||||
|
||||
val t = measureTimeMillis {
|
||||
// socket.connect(InetSocketAddress("zedo.top", SERVER_PORT))
|
||||
socket.connect(InetSocketAddress("127.0.0.1", SERVER_PORT))
|
||||
socket.connect(InetSocketAddress("zedo.top", SERVER_PORT))
|
||||
// socket.connect(InetSocketAddress("127.0.0.1", SERVER_PORT))
|
||||
}
|
||||
println("connect time $t")
|
||||
|
||||
val out = ObjectOutputStream(socket.getOutputStream())
|
||||
val inp = ObjectInputStream(socket.getInputStream())
|
||||
|
||||
val targetDataLine = AudioSystem.getTargetDataLine(format)
|
||||
targetDataLine.open(format, bufferIn.size)
|
||||
val bufferOut = ByteArray(BUFFER_SIZE * 2)
|
||||
val targetDataLine = AudioSystem.getTargetDataLine(AUDIO_FORMAT)
|
||||
targetDataLine.open(AUDIO_FORMAT, bufferOut.size)
|
||||
targetDataLine.start()
|
||||
|
||||
val sourceDataLine = AudioSystem.getSourceDataLine(format)
|
||||
sourceDataLine.open(format, bufferIn.size)
|
||||
val bufferIn = ByteArray(BUFFER_SIZE * 2)
|
||||
val sourceDataLine = AudioSystem.getSourceDataLine(AUDIO_FORMAT)
|
||||
sourceDataLine.open(AUDIO_FORMAT, bufferIn.size)
|
||||
sourceDataLine.start()
|
||||
|
||||
val decoder = OpusDecoder(SAMPLE_RATE, CHANNELS)
|
||||
val encoder = OpusEncoder(SAMPLE_RATE, CHANNELS, OpusApplication.OPUS_APPLICATION_AUDIO).also {
|
||||
it.bitrate = 96000
|
||||
it.forceMode = OpusMode.MODE_CELT_ONLY
|
||||
it.signalType = OpusSignal.OPUS_SIGNAL_MUSIC
|
||||
it.complexity = 0
|
||||
}
|
||||
|
||||
launch(Dispatchers.IO) {
|
||||
while (true) {
|
||||
targetDataLine.read(bufferOut, 0, bufferOut.size)
|
||||
|
Loading…
x
Reference in New Issue
Block a user