我想从两个音频文件中读取数据,混合后将其写入新的音频文件。两个音频具有相同的持续时间,采样率和通道数量,我想采用audio1的左声道和audio2的右声道进行立体声输出。
从我在 MediaTool API演示中看到的内容,只要读取和解码数据包就会调用onAudioSamples
,但对于这种情况,我需要同时拥有audio1和调用onAudioSamples时,audio2可用,以便使用正确的audio2通道修改audio1样本的右声道。
我可以使用 MediaTool API实现这一目标吗?我应该使用较低级别的API吗?
在修改示例数据之前,我是否应该读取两个音频文件中的所有数据包(就像在ConcatenateAudioAndVideo
演示中一样),我应该从每个数据包中读取数据包吗?
while(reader1.readPacket() == null && reader2.readPacket());
感谢。
答案 0 :(得分:0)
我找不到任何方法在提供的documentation中分割音频频道。但IAudioSampler
和IAudioResampler
可用于音频块。如果您从这些类开始并操纵IMediaData
中的较低级别数据。