一,问题现象记录
使用Audition连接UAC播放采样点数据比较大的时候,低8位的数据会被修改。如果对低8位数据敏感的情况,需要使用其他播放器进行播放。
二,问题复现
1,使用C代码生成一个PCM文件:
#include <stdio.h>
#include <stdint.h>int main() {FILE *file;char filename[] = "output.pcm";uint32_t data = 0x12345678;int bytes_to_write = 3840000; // 文件大小为3840000字节int bytes_written = 0;file = fopen(filename, "wb"); // 以二进制写入模式打开文件if (file == NULL) {printf("Error opening file.\n");return 1;}while (bytes_written < bytes_to_write) {// 写入数据fwrite(&data, sizeof(uint32_t), 1, file);bytes_written += sizeof(uint32_t);}fclose(file); // 关闭文件printf("File write complete.\n");return 0;
}
编译运行,生成output.pcm,使用16进制打开,可以看到数据为0x12345678: