php服务器支付宝的pcm,PCM裸流数据的16进制格式以及左右声道分离c语言程序

前言

本文讲解PCM裸流数据的存储格式。

本文PCM音频参数声道数: 2

采样位数: little endian signed 16 bits,

小端有符号字 = short,表示范围 -32768~32767

采样频率: 44100Hz

PCM数据存储格式(小端有符号字)

c99d5f38e3992e507e125a5d57226289.png

UltraEdit下查看实际的16进制数据(小端有符号字)

注意:在notepad++下查看到的16进制数据不对,暂时来找到原因。

点击图片可放大看。

e3ebd9e4ea0b73b7f4b85c3f057e6eaf.png

左右声道分离c语言程序//gcc -o split_PCM_channle split_PCM_channle.c

//./split_PCM_channle

#include

#include

int simplest_pcm16le_split(char *url){

FILE *fp=fopen(url,"rb+");

FILE *fp1=fopen("output_l.pcm","wb+");

FILE *fp2=fopen("output_r.pcm","wb+");

unsigned char *sample=(unsigned char *)malloc(4);

while(!feof(fp)){

fread(sample,1,4,fp);

//L

fwrite(sample,1,2,fp1);

//R

fwrite(sample+2,1,2,fp2);

}

free(sample);

fclose(fp);

fclose(fp1);

fclose(fp2);

return 0;

}

void main (void)

{

char *url = "./single_sine.pcm";

simplest_pcm16le_split(url);

}

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值