最终
This commit is contained in:
parent
aad1681994
commit
fbf7e998b3
@ -4,9 +4,7 @@ import kotlinx.coroutines.runBlocking
|
|||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.io.InputStream
|
import java.io.InputStream
|
||||||
import java.io.OutputStream
|
import java.io.OutputStream
|
||||||
import java.net.InetSocketAddress
|
|
||||||
import java.net.Socket
|
import java.net.Socket
|
||||||
import java.util.Arrays
|
|
||||||
import javax.sound.sampled.AudioFormat
|
import javax.sound.sampled.AudioFormat
|
||||||
import javax.sound.sampled.AudioSystem
|
import javax.sound.sampled.AudioSystem
|
||||||
import kotlin.system.measureTimeMillis
|
import kotlin.system.measureTimeMillis
|
||||||
@ -64,7 +62,13 @@ fun mainClient() = runBlocking {
|
|||||||
launch(Dispatchers.IO) {
|
launch(Dispatchers.IO) {
|
||||||
while (true) {
|
while (true) {
|
||||||
try {
|
try {
|
||||||
|
if (`in`!!.available() > bufferIn.size * 2) {
|
||||||
|
`in`!!.skip(`in`!!.available().toLong())
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
`in`!!.read(bufferIn, 0, bufferIn.size)
|
`in`!!.read(bufferIn, 0, bufferIn.size)
|
||||||
|
|
||||||
sourceDataLine.write(bufferIn, 0, bufferIn.size)
|
sourceDataLine.write(bufferIn, 0, bufferIn.size)
|
||||||
} catch (e: IOException) {
|
} catch (e: IOException) {
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
|
@ -17,7 +17,6 @@ fun main() = runBlocking {
|
|||||||
for (client in clientAudios) {
|
for (client in clientAudios) {
|
||||||
if (!client.isConnected) {
|
if (!client.isConnected) {
|
||||||
clientAudios.remove(client)
|
clientAudios.remove(client)
|
||||||
println("现在是: $clientAudios")
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
client.read()
|
client.read()
|
||||||
@ -64,6 +63,12 @@ class ClientAudio(var socket: Socket) {
|
|||||||
|
|
||||||
fun read() {
|
fun read() {
|
||||||
try {
|
try {
|
||||||
|
if (`in`!!.available() > bufferIn.size * 2) {
|
||||||
|
`in`!!.skip(`in`!!.available().toLong())
|
||||||
|
Arrays.fill(mixSample, 0f)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
`in`.read(buffer)
|
`in`.read(buffer)
|
||||||
AudioConvert.convertShortByteToFloat(buffer, sample)
|
AudioConvert.convertShortByteToFloat(buffer, sample)
|
||||||
Arrays.fill(mixSample, 0f)
|
Arrays.fill(mixSample, 0f)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user