Android可以同时录制当前播放的内容吗?

Android可以同时录制当前播放的内容吗?,android,audiotrack,Android,Audiotrack,我正在将音频数据(音乐)通过track.write(…) 在这样做并让用户通过设备的扬声器(等)收听音频的同时,我还可以使用Android自己的音频系统录制音频吗?(Android 4.0+)它能做到这一点吗?如果您使用的是AudioTrack.write(),那么您必须从字节流中写入。如果你有字节,你可以把它们保存在任何你想保存的地方。只要把它们也写进一个文件,你就可以把它录下来 现在,请注意,它将是原始PCM格式。如果你想把它转换成WAV、MP3、OGG等,你必须自己做。有不同的方法可以做到

我正在将音频数据(音乐)通过
track.write(…)


在这样做并让用户通过设备的扬声器(等)收听音频的同时,我还可以使用Android自己的音频系统录制音频吗?(Android 4.0+)它能做到这一点吗?

如果您使用的是
AudioTrack.write()
,那么您必须从字节流中写入。如果你有字节,你可以把它们保存在任何你想保存的地方。只要把它们也写进一个文件,你就可以把它录下来


现在,请注意,它将是原始PCM格式。如果你想把它转换成WAV、MP3、OGG等,你必须自己做。有不同的方法可以做到这一点,但搜索应该会有所发现。

我想,如果你有一台Android设备,你可以很容易地测试这一点谢谢你的时间。是的,我有字节流,但它需要下采样,我必须手动找出样本窗口和边界。如果安卓自己能做到这一点,它将降低复杂性。你想用什么格式录制?您可能想查看MediaCodec类。我想转换成PCM 11khz单声道。但我想在播放音轨的时候做(:我假设您正在以原始格式播放,并且只想保存在11khz单声道中?如果是这样,您没有理由不能这样做,但我不知道SDK中有任何东西可以帮您完成。您只需快速进行转换/写入,并希望不会在播放中引入口吃。单独的缓冲区和线程写东西可能会有帮助。@frankish:Android不支持这一点,所以必须按照Geobits描述的方式来做。