我正在实现一个 RTP 接收器。它接收 UDP 数据包,解码编解码器并将 PCM 样本写入到AudioTrack
播放。一个问题似乎AudioTrack.write
是阻塞,因此我会同时错过 UDP 数据包。
有没有关于如何处理这个问题的已知解决方案?
我尝试使用我自己的音频数据缓冲区setNotificationMarkerPosition
,但似乎,audioTrack 只有在缓冲区被填充到某种程度时才会播放,因此标记位置永远不会到达或audioTrack.write
再次阻塞。
我也尝试audioTrack.pause()
在每次写入之前.play()
再做一次,但这似乎会显着影响音质。