ksvc / KSYMediaPlayer_Android

金山云Android播放SDK(KSYUN Live Streaming player SDK),支持RTMP HTTP-FLV HLS 协议(supporting RTMP HTTP-FLV HLS protocol),直播延时2-3秒(Living delay 2 or 3 seconds),supporting jitter control,software&hardware decode
http://v.ksyun.com/
Apache License 2.0
853 stars 246 forks source link

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

Closed typehm closed 6 years ago

typehm commented 6 years ago

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

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

typehm commented 6 years ago

可能是在推流端做了一些劫持pcm的行为导致的问题,正尝试改为新建一个capture模块连接到AudioMixer来输入pcm.