fpzeng / KSYStreamer_Android

金山云Android采集推流SDK(Livestream SDK),支持内置/自定义美颜(Beauty Filter)、美声(Beauty Voice)、软硬编(Software/Hardware Encoder) 、网络自适应(Network Auto Adapt)、混音(Voice Mixer)、混响(Reverb)、画中画(PIP)、连麦(RTC)、动态贴纸(Sticker)、大眼瘦脸(Bigger Eyes and Smaller Faces)
https://github.com/ksvc/KSYStreamer_Android/releases
731 stars 211 forks source link

关于onAudioPCMAvailable中的raw pcm数据的问题 #282

Closed typehm closed 6 years ago

typehm commented 6 years ago

我们的项目需求有点特殊,是准备在一个声道推pcm,一个声道推user data. 当我把单声道的数据写入两个声音时推出,在客户端是正常播放的。 而当我把pcm只写入一个声道,在另一个声音放入user data时,在player端播放的音频就产生了相当明显的杂音。同时从另一声道编码出的user data也有很大的误差。 是否onAudioPCMAvailable中的数据不是看声音帧对齐到达的呢?还是可能别的什么原因导致了此问题? 望指教。

typehm commented 6 years ago

补充一下,在player端播放是通过onAudioPCMAvailable得到pcm数据后解出一个声道的pcm写回自己维护的audiotrack中去的,所以不会因为user data导致的杂音。 还有一个跟本主题无关的问题,我们的pcm采样率是8000hz的,于是我在推流前向上采样至22050hz,这时在player端播放时声音会变快,我向上采样至22050*1.1倍的采样率时才勉强达到正常速度。

typehm commented 6 years ago

啊,可能应该发到player那边去的。如何发错了请close掉。

typehm commented 6 years ago

尝试通过给AudioMixer连接新模式来加入raw PCM.