/// <summary> /// 重采样 /// </summary> /// <param name="inDatas">输入PCM数据缓冲区的数组。当此参数为<see cref="IntPtr.Zero"/>时,将输出重采样器中剩余的采样点。</param> /// <param name="inSampleCount">输入缓冲区存放的采样个数(多声道只计算一个)</param> /// <param name="outDatas">输出PCM数据缓冲区的数组。</param> /// <param name="outSampleCount">输出缓冲区能够容纳的采样个数(多声道只计算一个)</param> /// <returns>返回输出的采样个数</returns> public int Resample(IntPtr inDatas, int inSampleCount, IntPtr outDatas, int outSampleCount) { int resultSampleCount = FF.swr_convert(ctx, (byte **)outDatas, outSampleCount, (byte **)inDatas, inSampleCount); if (resultSampleCount < 0) { throw new FFmpegException(resultSampleCount); } return(resultSampleCount); }