(四)Android基于UDP的多客户端语音通信

转载请表明出处:https://blog.youkuaiyun.com/stormxiaofeng/article/details/80598126

在前三篇得基础上,这次研究了组播功能。非常感谢https://blog.youkuaiyun.com/jspping/article/details/64438515得贡献!

组播也就是通过MulticastSocket来进行开发,与DatagramSocket比较相类似,这次依然是用两个线程进行实现,发送线程MultiSendThread和接收线程MultiReceiveThread。废话不多说,开始码:

(一)MultiSendThread:

(1)初始化MuticastSocket

 
// 侦听的端口
try {
    multicastSocket = new MulticastSocket(8082);
    // 使用D类地址,该地址为发起组播的那个ip段,即侦听10001的套接字
    address = InetAddress.getByName("239.0.0.1");
} catch (IOException e) {
    e.printStackTrace();
}

(2)初始化AudioRecord

protected LinkedList<byte[]> mRecordQueue;
int minBufferSize;
private static AcousticEchoCanceler aec;
private static AutomaticGainControl agc;
private static NoiseSuppressor nc;
AudioRecord audioRec;
byte[] buffer;

@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
private void initAudio() {
    //播放的采样频率 和录制的采样频率一样
    int sampleRate = 44100;
    //和录制的一样的
    int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
    //录音用输入单声道  播放用输出单声道
    int channelC
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小丰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值