首页 > 解决方案 > 与python相比,如何从android中的mp3获取完全相同的pcm数据?

问题描述

假设我有一个 abcd.mp3(8000hz, PCM_16BIT, 2 Channels),并在 python 中将其转换为 abcd.wav。我以 wav 打印前 100 pcm 数据:

[-43(0xD5 0xFF), -43(0xD5 0xFF), -23(0xE9 0xFF), -23(0xE9 0xFF), 26(0x1A 0x00), 26(0x1A 0x00), 1(0x01 0x00), 1(0x01 0x00), 0(0x00 0x00), 0(0x00 0x00), 56(0x38 0x00), 56(0x38 0x00)...]

但是当我使用 MediaCodec 在 Android 中转换 abcd.wav 时,所有数据都不同:

[-40(0xD8 0xFF), -40(0xD8 0xFF), -23(0xE9 0xFF), -23(0xE9 0xFF), 25(0x19 0x00), 25(0x19 0x00), 2(0x02 0x00), 2(0x02 0x00), -1(0xFF 0xFF), -1(0xFF 0xFF), 54(0x36 0x00), 54(0x36 0x00)...]

Android 的 MediaCodec 正确地识别了采样率,谁能告诉我,为什么它解码了 diff pcm 数据?谢谢

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

标签: pythonandroidmp3pcm

解决方案


推荐阅读