python - 与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 数据?谢谢
解决方案
推荐阅读
- version-control - 通过 OSX 已经附带的自制程序(例如 mysql)安装程序是否安全或明智?
- android - Jetpack compose 检查函数是否已在预览模式下运行
- mysql - 进行这样的分组的查询是什么?
- r - 使用 plotly 显示单词相关性
- mudblazor - MudDatePicker DefaultValue 加上 DateChange
- postgresql - 我想使用触发函数停止更新一列的相关信息。但是代码不是不更新,而是代码正在更新记录
- quarkus - Quarkus 的 NTLMv1 身份验证支持
- javascript - 创建后事件发射器无法正常工作
- javascript - ReactJS - gmail 的表单验证错误
- jasper-reports - Jaspersoft Studio 调整字段相对于其他字段高度的位置