Android设备实时音视频传输有效方案,android面试复习

本文详细介绍了在Android设备上实现音视频实时传输的方案,通过AudioTrack发送PCM流到接收端,接收端接收并播放实现音频同步。同时探讨了在Android 5.0和7.0上的测试结果,强调了熟悉framework层对解决问题的重要性。
摘要由CSDN通过智能技术生成

另一个就是接收端,不停的接收发送出来的socket数据,这个socket数据就是实时的pcm流,接收方,在实时播放pcm流,就能实现音频的实时同步了。

关于视频流,是如何实现同步的,大家也可以猜猜?

1)AudioTrack.cpp中的代码实现

#define DEST_PORT 5046

#define DEST_IP_ADDRESS “192.168.7.6”

int mSocket;

bool mSocketHasInit;

bool mCurrentPlayMusicStream;

struct sockaddr_in mRemoteAddr;

ssize_t AudioTrack::write(const void* buffer, size_t userSize, bool blocking)

{

size_t toWrite = audioBuffer.size;

memcpy(audioBuffer.i8, buffer, toWrite);

mBuffer = malloc(toWrite);

memcpy(mBuffer,buffer,toWrite);

//我们添加的代码:把音频流实时的发送出去

if(mCurrentPlayMusicStream && mSocketHasInit){

onSocketSendData(toWrite);

}

}

int AudioTrack::onSocketSendData(uint32_t len){

assert(NULL != mBuffer);

as

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值
>