📄 libresample.h
字号:
/********************************************************************** resample.h Real-time library interface by Dominic Mazzoni Based on resample-1.7: http://www-ccrma.stanford.edu/~jos/resample/ License: LGPL - see the file LICENSE.txt for more information**********************************************************************//*! * \file * \brief libresample API * \author Dominic Mazzoni */#ifndef LIBRESAMPLE_INCLUDED#define LIBRESAMPLE_INCLUDED#ifdef __cplusplusextern "C" {#endif /* __cplusplus *//*! * \brief Create a resampler * * \arg highQuality Set this argument to non-zero to enable higher quality * resampling. * \arg minFactor This is the minimum resampling factor that will be used for * this resampler. The resampling factor is calculated in the following * way: ( from sample rate / to sample rate ). * \arg maxFactor This is the maximum resampling factor that will be used for * this resampler. * * Use this function to create a new resampler that will maintain state * information about the stream of audio being resampled. * * \return A handle to a new resampler */void *resample_open(int highQuality, double minFactor, double maxFactor);/*! * \brief Duplicate a resampler * * \arg handle the resampler to duplicate * * \return A new handle to a resampler, initialized with the same parameters * used to create the original resampler. */void *resample_dup(const void *handle);/*! * \brief Get filter width for resampler * * \arg handle the resampler * * \return the filter width. */int resample_get_filter_width(const void *handle);/*! * \brief Resample a chunk of audio * * \arg handle the resampler * \arg factor the resampling factor. This factor should be calculated as * ( from sample rate / to sample rate ). So, for converting from 8 kHz * to 16 kHz, this value would be 2.0. * \arg inBuffer the input buffer for audio to resample. * \arg inBufferLen the number of samples in the input buffer * \arg lastFlag Set this argument to non-zero if the data in the input buffer * is known to be the end of a stream. This would be used if you're * resampling a file, for example. * \arg inBufferUsed This is an output parameter that indicates how many * samples were consumed from the input buffer. Generally, this function * is called in a loop until you know that the entire input buffer has * been consumed, as it may take multiple calls to complete. * \arg outBuffer This is the output buffer. This function will write the * resampled audio into this buffer. * \arg outBufferLen This parameter specifies how many samples there is room * for in the output buffer. * * This is the main function used for resampling audio. It should be called * in a loop until all of the data from the input buffer is consumed, or the * output buffer has been filled. * * \return the number of samples written to the output buffer. If the return * value is equal to the value provided in the outBufferLen parameter, * then the output buffer has been filled. */int resample_process(void *handle, double factor, float *inBuffer, int inBufferLen, int lastFlag, int *inBufferUsed, float *outBuffer, int outBufferLen);/*! * \brief Close a resampler * * \arg handle the resampler to close * * Use this function to release a handle to a resampler that was created using * either resample_open() or resample_dup(). * * \return nothing. */void resample_close(void *handle);#ifdef __cplusplus} /* extern "C" */#endif /* __cplusplus */#endif /* LIBRESAMPLE_INCLUDED */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -