⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libresample.h

📁 asterisk 一个模拟IPPBX的源代码
💻 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 + -