2,553
社区成员




static float in[1024];
static float out[1024*10];
if (p8k && p48k )
{
for (;fread(in,1,sizeof(in),p8k) == sizeof(in); )
{
SRC_DATA data ;
data.src_ratio = 48.0 / 8.0 ; //Equal to output_sample_rate / input_sample_rate
data.input_frames = ARRAY_LEN (in) ;
data.output_frames = ARRAY_LEN (out) ;
data.data_in = in ;
data.data_out = out ;
SRC_STATE * ss;
int err = 0;
ss = src_new (SRC_SINC_MEDIUM_QUALITY, 1, &err);
if ( !ss)
{
puts(src_strerror(err));
exit(0);
}
err = src_process(ss,&data);
if ( !err )
{
fwrite(out,1,data.output_frames_gen,p48k);
}
else
{
puts(src_strerror(err));
}
src_delete (ss) ;