📄 pcmtran.h
字号:
#ifndef _PCMTRAN_H_
#define _PCMTRAN_H_
#define PCMTRAN_ERR_GENERAL -1 /* 一般出错 */
#define PCMTRAN_ERR_SAMCHAN -2 /* 声道转换出错 */
#define PCMTRAN_ERR_SAMRATE -3 /* 采样率转换出错 */
#define PCMTRAN_ERR_SAMWIDTH -4 /* 采样宽度转换出错 */
#define PCMTRAN_OK 0 /* 转换正常 */
#ifdef __cplusplus
extern "C"
{
#endif
/*====================================================*/
/*
功能:
打开转换库
参数:
source_channels: 原始流通道数目
source_smaple_width: 原始流采样宽度
source_samples_rate: 原始流采样率
dest_channels: 转换后数据流通道数目
dest_smaple_width: 转换后数据采样宽度
dest_samples_rate: 转换后数据采样率
返回值:
句柄 (!=0 正确)
特别说明:
*/
unsigned long pcm_transform_open(int source_channels, int source_smaple_width, int source_samples_rate, int dest_channels, int dest_sample_width, int dest_samples_rate, int max_input_len) ;
/*====================================================*/
/*
功能:
关闭转换库
参数:
handle: 指定使用的缓冲大小(最少8K)
返回值:
== 0 正确,其它 出错
特别说明:
*/
int pcm_transform_close(unsigned long handle) ;
/*====================================================*/
/*
功能:
转换数据流
参数:
handle: 句柄
inbuf: 输入缓冲区
outbuf: 输出缓冲区
inbuf_len: 输入缓冲区长度
outbuf_len: 输出缓冲区长度
input_len: 实际使用输入缓冲区中数据的长度(byte)
output_len: 输出数据长度(byte)
返回值:
==0 正确,> 0 一般出错(如缓冲不够大), < 0 致命出错
特别说明:
*/
int pcm_transform(unsigned long handle, char *inbuf, int inbuf_len,
char **outbuf, int *output_len);
/*====================================================*/
/*
功能:
打开解码库
参数:
handle: 句柄
source_size: 原数据长度
dest_size: 目标数据长度
返回值:
== 0 正确,其它 出错
特别说明:
*/
int pcm_transform_getdestsize(unsigned long handle, int source_size, int *dest_size) ;
#ifdef __cplusplus
}
#endif
#endif /* end #ifndef _PCMTRAN_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -