我需要使用explayer2将视频内容流式传输到我的应用。只有一个音轨,左声道与右声道不同。据说,只播放一侧而另一侧静音(音量设置为0)。我尝试使用这种方法:
AudioTrack.setVolume(float left, float right)
问题是只有一方会有音频。是否可以以这样的方式操纵音频渲染器,以便双方使用左侧数据(或两者都使用右侧数据),这样听起来它仍然是立体声播放(即使它是只使用一个频道的数据)?
进度:
我在这方面取得了一些进展。
使用java反射,我能够访问MediaCodecAudioRenderer中的com.google.android.exoplayer2.audio.AudioTrack字段。
通过AudioTrack对象,我可以调用configure并设置新的频道映射。
现在的问题是我得到一些随机的NullPointerException:
尝试调用虚拟方法' int android.media.AudioTrack.getPlayState()'在空对象引用上
尝试调用虚拟方法' int android.media.AudioTrack.getPlaybackHeadPosition()'在一个空对象上