




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
portaudio.h File ReferenceThe portable PortAudio API. More. Go to the source code of this file. Data Structuresstruct PaHostApiInfostruct PaHostErrorInfostruct PaDeviceInfostruct PaStreamParametersstruct PaStreamCallbackTimeInfostruct PaStreamInfoDefines#definepaNoDevice(PaDeviceIndex)-1)#definepaUseHostApiSpecificDeviceSpecification(PaDeviceIndex)-2)#definepaFloat32(PaSampleFormat) 0x00000001)#definepaInt32(PaSampleFormat) 0x00000002)#definepaInt24(PaSampleFormat) 0x00000004)#definepaInt16(PaSampleFormat) 0x00000008)#definepaInt8(PaSampleFormat) 0x00000010)#definepaUInt8(PaSampleFormat) 0x00000020)#definepaCustomFormat(PaSampleFormat) 0x00010000)#definepaNonInterleaved(PaSampleFormat) 0x80000000)#definepaFormatIsSupported(0)#definepaFramesPerBufferUnspecified(0)#definepaNoFlag(PaStreamFlags) 0)#definepaClipOff(PaStreamFlags) 0x00000001)#definepaDitherOff(PaStreamFlags) 0x00000002)#definepaNeverDropInput(PaStreamFlags) 0x00000004)#definepaPrimeOutputBuffersUsingStreamCallback(PaStreamFlags) 0x00000008)#definepaPlatformSpecificFlags(PaStreamFlags)0xFFFF0000)#definepaInputUnderflow(PaStreamCallbackFlags) 0x00000001)#definepaInputOverflow(PaStreamCallbackFlags) 0x00000002)#definepaOutputUnderflow(PaStreamCallbackFlags) 0x00000004)#definepaOutputOverflow(PaStreamCallbackFlags) 0x00000008)#definepaPrimingOutput(PaStreamCallbackFlags) 0x00000010)Typedefstypedef intPaErrortypedef intPaDeviceIndextypedef intPaHostApiIndextypedef doublePaTimetypedef unsigned longPaSampleFormattypedef voidPaStreamtypedef unsigned longPaStreamFlagstypedef unsigned longPaStreamCallbackFlagstypedef intPaStreamCallback (const void *input, void *output, unsigned long frameCount, const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData)typedef voidPaStreamFinishedCallback (void *userData)Enumerationsenum PaErrorCode paNoError = 0, paNotInitialized = -10000, paUnanticipatedHostError, paInvalidChannelCount, paInvalidSampleRate, paInvalidDevice, paInvalidFlag, paSampleFormatNotSupported, paBadIODeviceCombination, paInsufficientMemory, paBufferTooBig, paBufferTooSmall, paNullCallback, paBadStreamPtr, paTimedOut, paInternalError, paDeviceUnavailable, paIncompatibleHostApiSpecificStreamInfo, paStreamIsStopped, paStreamIsNotStopped, paInputOverflowed, paOutputUnderflowed, paHostApiNotFound, paInvalidHostApi, paCanNotReadFromACallbackStream, paCanNotWriteToACallbackStream, paCanNotReadFromAnOutputOnlyStream, paCanNotWriteToAnInputOnlyStream, paIncompatibleStreamHostApi, paBadBufferPtr enum PaHostApiTypeId paInDevelopment = 0, paDirectSound = 1, paMME = 2, paASIO = 3, paSoundManager = 4, paCoreAudio = 5, paOSS = 7, paALSA = 8, paAL = 9, paBeOS = 10, paWDMKS = 11, paJACK = 12, paWASAPI = 13, paAudioScienceHPI = 14 enum PaStreamCallbackResult paContinue = 0, paComplete = 1, paAbort = 2 FunctionsintPa_GetVersion (void)const char *Pa_GetVersionText (void)const char *Pa_GetErrorText (PaError errorCode)PaErrorPa_Initialize (void)PaErrorPa_Terminate (void)PaHostApiIndexPa_GetHostApiCount (void)PaHostApiIndexPa_GetDefaultHostApi (void)const PaHostApiInfo *Pa_GetHostApiInfo (PaHostApiIndex hostApi)PaHostApiIndexPa_HostApiTypeIdToHostApiIndex (PaHostApiTypeId type)PaDeviceIndexPa_HostApiDeviceIndexToDeviceIndex (PaHostApiIndex hostApi, int hostApiDeviceIndex)const PaHostErrorInfo *Pa_GetLastHostErrorInfo (void)PaDeviceIndexPa_GetDeviceCount (void)PaDeviceIndexPa_GetDefaultInputDevice (void)PaDeviceIndexPa_GetDefaultOutputDevice (void)const PaDeviceInfo *Pa_GetDeviceInfo (PaDeviceIndex device)PaErrorPa_IsFormatSupported (const PaStreamParameters *inputParameters, const PaStreamParameters *outputParameters, double sampleRate)PaErrorPa_OpenStream (PaStream *stream, const PaStreamParameters *inputParameters, const PaStreamParameters *outputParameters, double sampleRate, unsigned long framesPerBuffer, PaStreamFlags streamFlags, PaStreamCallback *streamCallback, void *userData)PaErrorPa_OpenDefaultStream (PaStream *stream, int numInputChannels, int numOutputChannels, PaSampleFormat sampleFormat, double sampleRate, unsigned long framesPerBuffer, PaStreamCallback *streamCallback, void *userData)PaErrorPa_CloseStream (PaStream *stream)PaErrorPa_SetStreamFinishedCallback (PaStream *stream, PaStreamFinishedCallback *streamFinishedCallback)PaErrorPa_StartStream (PaStream *stream)PaErrorPa_StopStream (PaStream *stream)PaErrorPa_AbortStream (PaStream *stream)PaErrorPa_IsStreamStopped (PaStream *stream)PaErrorPa_IsStreamActive (PaStream *stream)const PaStreamInfo *Pa_GetStreamInfo (PaStream *stream)PaTimePa_GetStreamTime (PaStream *stream)doublePa_GetStreamCpuLoad (PaStream *stream)PaErrorPa_ReadStream (PaStream *stream, void *buffer, unsigned long frames)PaErrorPa_WriteStream (PaStream *stream, const void *buffer, unsigned long frames)signed longPa_GetStreamReadAvailable (PaStream *stream)signed longPa_GetStreamWriteAvailable (PaStream *stream)PaErrorPa_GetSampleSize (PaSampleFormat format)voidPa_Sleep (long msec)Detailed DescriptionThe portable PortAudio API. Definition in file portaudio.h. Define Documentation#define paClipOff(PaStreamFlags) 0x00000001) Disable default clipping of out of range samples. See also: PaStreamFlags Definition at line 610 of file portaudio.h. Referenced by main(). #define paCustomFormat(PaSampleFormat) 0x00010000) See also: PaSampleFormat Definition at line 442 of file portaudio.h. #define paDitherOff(PaStreamFlags) 0x00000002) Disable default dithering. See also: PaStreamFlags Definition at line 615 of file portaudio.h. #define paFloat32(PaSampleFormat) 0x00000001) See also: PaSampleFormat Definition at line 436 of file portaudio.h. Referenced by main(). #define paFormatIsSupported(0) Return code for Pa_IsFormatSupported indicating success. Definition at line 534 of file portaudio.h. Referenced by main(). #define paFramesPerBufferUnspecified(0) Can be passed as the framesPerBuffer parameter to Pa_OpenStream() or Pa_OpenDefaultStream() to indicate that the stream callback will accept buffers of any size. Definition at line 591 of file portaudio.h. #define paInputOverflow(PaStreamCallbackFlags) 0x00000002) In a stream opened with paFramesPerBufferUnspecified, indicates that data prior to the first sample of the input buffer was discarded due to an overflow, possibly because the stream callback is using too much CPU time. Otherwise indicates that data prior to one or more samples in the input buffer was discarded. See also: PaStreamCallbackFlags Definition at line 679 of file portaudio.h. #define paInputUnderflow(PaStreamCallbackFlags) 0x00000001) In a stream opened with paFramesPerBufferUnspecified, indicates that input data is all silence (zeros) because no real data is available. In a stream opened without paFramesPerBufferUnspecified, it indicates that one or more zero samples have been inserted into the input buffer to compensate for an input underflow. See also: PaStreamCallbackFlags Definition at line 670 of file portaudio.h. #define paInt16(PaSampleFormat) 0x00000008) See also: PaSampleFormat Definition at line 439 of file portaudio.h. Referenced by main(). #define paInt24(PaSampleFormat) 0x00000004) Packed 24 bit format. See also: PaSampleFormat Definition at line 438 of file portaudio.h. #define paInt32(PaSampleFormat) 0x00000002) See also: PaSampleFormat Definition at line 437 of file portaudio.h. #define paInt8(PaSampleFormat) 0x00000010) See also: PaSampleFormat Definition at line 440 of file portaudio.h. #define paNeverDropInput(PaStreamFlags) 0x00000004) Flag requests that where possible a full duplex stream will not discard overflowed input samples without calling the stream callback. This flag is only valid for full duplex callback streams and only when used in combination with the paFramesPerBufferUnspecified (0) framesPerBuffer parameter. Using this flag incorrectly results in a paInvalidFlag error being returned from Pa_OpenStream and Pa_OpenDefaultStream. See also: PaStreamFlags, paFramesPerBufferUnspecified Definition at line 626 of file portaudio.h. #define paNoDevice(PaDeviceIndex)-1) A special PaDeviceIndex value indicating that no device is available, or should be used. See also: PaDeviceIndex Definition at line 169 of file portaudio.h. #define paNoFlag(PaStreamFlags) 0) See also: PaStreamFlags Definition at line 605 of file portaudio.h. #define paNonInterleaved(PaSampleFormat) 0x80000000) See also: PaSampleFormat Definition at line 444 of file portaudio.h. #define paOutputOverflow(PaStreamCallbackFlags) 0x00000008) Indicates that output data will be discarded because no room is available. See also: PaStreamCallbackFlags Definition at line 690 of file portaudio.h. #define paOutputUnderflow(PaStreamCallbackFlags) 0x00000004) Indicates that output data (or a gap) was inserted, possibly because the stream callback is using too much CPU time. See also: PaStreamCallbackFlags Definition at line 685 of file portaudio.h. #define paPlatformSpecificFlags(PaStreamFlags)0xFFFF0000) A mask specifying the platform specific bits. See also: PaStreamFlags Definition at line 639 of file portaudio.h. #define paPrimeOutputBuffersUsingStreamCallback(PaStreamFlags) 0x00000008) Call the stream callback to fill initial output buffers, rather than the default behavior of priming the buffers with zeros (silence). This flag has no effect for input-only and blocking read/write streams. See also: PaStreamFlags Definition at line 634 of file portaudio.h. #define paPrimingOutput(PaStreamCallbackFlags) 0x00000010) Some of all of the output data will be used to prime the stream, input data may be zero. See also: PaStreamCallbackFlags Definition at line 696 of file portaudio.h. #define paUInt8(PaSampleFormat) 0x00000020) See also: PaSampleFormat Definition at line 441 of file portaudio.h. #define paUseHostApiSpecificDeviceSpecification(PaDeviceIndex)-2) A special PaDeviceIndex value indicating that the device(s) to be used are specified in the host api specific stream info structure. See also: PaDeviceIndex Definition at line 177 of file portaudio.h. Typedef Documentationtypedef int PaDeviceIndex The type used to refer to audio devices. Values of this type usually range from 0 to (Pa_GetDeviceCount()-1), and may also take on the PaNoDevice and paUseHostApiSpecificDeviceSpecification values. See also: Pa_GetDeviceCount, paNoDevice, paUseHostApiSpecificDeviceSpecification Definition at line 161 of file portaudio.h. typedef int PaError Error codes returned by PortAudio functions. Note that with the exception of paNoError, all PaErrorCodes are negative. Definition at line 70 of file portaudio.h. typedef int PaHostApiIndex The type used to enumerate to host APIs at runtime. Values of this type range from 0 to (Pa_GetHostApiCount()-1). See also: Pa_GetHostApiCount Definition at line 187 of file portaudio.h. typedef unsigned long PaSampleFormat A type used to specify one or more sample formats. Each value indicates a possible format for sound data passed to and from the stream callback, Pa_ReadStream and Pa_WriteStream. The standard formats paFloat32, paInt16, paInt32, paInt24, paInt8 and aUInt8 are usually implemented by all implementations. The floating point representation (paFloat32) uses +1.0 and -1.0 as the maximum and minimum respectively. paUInt8 is an unsigned 8 bit format where 128 is considered ground The paNonInterleaved flag indicates that audio data is passed as an array of pointers to separate buffers, one buffer for each channel. Usually, when this flag is not used, audio data is passed as a single buffer with all channels interleaved. See also: Pa_OpenStream, Pa_OpenDefaultStream, PaDeviceInfo paFloat32, paInt16, paInt32, paInt24, paInt8 paUInt8, paCustomFormat, paNonInterleaved Definition at line 433 of file portaudio.h. typedef void PaStream A single PaStream can provide multiple channels of real-time streaming audio input and output to a client application. A stream provides access to audio hardware represented by one or more PaDevices. Depending on the underlying Host API, it may be possible to open multiple streams using the same device, however this behavior is implementation defined. Portable applications should assume that a PaDevice may be simultaneously used by at most one PaStream. Pointers to PaStream objects are passed between PortAudio functions that operate on streams. See also: Pa_OpenStream, Pa_OpenDefaultStream, Pa_OpenDefaultStream, Pa_CloseStream, Pa_StartStream, Pa_StopStream, Pa_AbortStream, Pa_IsStreamActive, Pa_GetStreamTime, Pa_GetStreamCpuLoad Definition at line 584 of file portaudio.h. typedef int PaStreamCallback(const void *input, void *output, unsigned long frameCount, const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData) Functions of type PaStreamCallback are implemented by PortAudio clients. They consume, process or generate audio in response to requests from an active PortAudio stream. When a stream is running, PortAudio calls the stream callback periodically. The callback function is responsible for processing buffers of audio samples passed via the input and output parameters. The PortAudio stream callback runs at very high or real-time priority. It is required to consistently meet its time deadlines. Do not allocate memory, access the file system, call library functions or call other functions from the stream callback that may block or take an unpredictable amount of time to complete. In order for a stream to maintain glitch-free operation the callback must consume and return audio data faster than it is recorded and/or played. PortAudio anticipates that each callback invocation may execute for a duration approaching the duration of frameCount audio frames at the stream sample rate. It is reasonable to expect to be able to utilise 70% or more of the available CPU time in the PortAudio callback. However, due to buffer size adaption and other factors, not all host APIs are able to guarantee audio stability under heavy CPU load with arbitrary fixed callback buffer sizes. When high callback CPU utilisation is required the most robust behavior can be achieved by using paFramesPerBufferUnspecified as the Pa_OpenStream() framesPerBuffer parameter. Parameters: inputandoutputare either arrays of interleaved samples or; if non-interleaved samples were requested using the paNonInterleaved sample format flag, an array of buffer pointers, one non-interleaved buffer for each channel.The format, packing and number of channels used by the buffers are determined by parameters to Pa_OpenStream(). Parameters: frameCountThe number of sample frames to be processed by the stream callback.timeInfoTimestamps indicating the ADC capture time of the first sample in the input buffer, the DAC output time of the first sample in the output buffer and the time the callback was invoked. See PaStreamCallbackTimeInfo and Pa_GetStreamTime()statusFlagsFlags indicating whether input and/or output buffers have been inserted or will be dropped to overcome underflow or overflow conditions.userDataThe value of a user supplied pointer passed to Pa_OpenStream() intended for storing synthesis data etc.Returns: The stream callback should return one of the values in the PaStreamCallbackResult enumeration. To ensure that the callback continues to be called, it should return paContinue (0). Either paComplete or paAbort can be returned to finish stream processing, after either of these values is returned the callback will not be called again. If paAbort is returned the stream will finish as soon as possible. If paComplete is returned, the stream will continue until all buffers generated by the callback have been played. This may be useful in applications such as soundfile players where a specific duration of output is required. However, it is not necessary to utilize this mechanism as Pa_StopStream(), Pa_AbortStream() or Pa_CloseStream() can also be used to stop the stream. The callback must always fill the entire output buffer irrespective of its return value.See also: Pa_OpenStream, Pa_OpenDefaultStreamNote: With the exception of Pa_GetStreamCpuLoad() it is not permissible to call PortAudio API functions from within the stream callback. Definition at line 779 of file portaudio.h. typedef unsigned long PaStreamCallbackFlags Flag bit constants for the statusFlags to PaStreamCallback. See also: paInputUnderflow, paInputOverflow, paOutputUnderflow, paOutputOverflow, paPrimingOutput Definition at line 661 of file portaudio.h. typedef void PaStreamFinishedCallback(void *userData) Functions of type PaStreamFinishedCallback are implemented by PortAudio clients. They can be registered with a stream using the Pa_SetStreamFinishedCallback function. Once registered they are called when the stream becomes inactive (ie once a call to Pa_StopStream() will not block). A stream will become inactive after the stream callback returns non-zero, or when Pa_StopStream or Pa_AbortStream is called. For a stream providing audio output, if the stream callback returns paComplete
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 碳汇交易对贫困地区经济影响-洞察及研究
- 拆除设备自动化控制系统研究-洞察及研究
- 未来室内设计趋势预测-洞察及研究
- 露天矿山事故救援演练方案
- 英语培训机构课程设计方案模板
- 企业数字化转型项目方案范本
- 医院临床医嘱核对电子化管理方案
- 2025年神经内科病例分析与治疗方案设计考试答案及解析
- 医院药品采购与成本控制方案
- pvc给水管道施工方案(完整版)
- 2025年《数字孪生与虚拟调试技术应用》课程标准
- 生物●安徽卷丨2024年安徽省普通高中学业水平选择性考试生物试卷及答案
- 蓝牙耳机委托加工协议书
- 北京车牌出租协议书
- 忠诚协议书和婚内财产协议
- 2025-2030汽车贷款行业市场深度分析及发展策略研究报告
- 反诈知识进校园主题团课
- SCR脱硝催化剂体积及反应器尺寸计算表
- 煤巷掘进工作面瓦斯超限管控措施培训课件
- 投标代理人委托书
- 2025届高三英语一轮复习人教版(2019)必修第二册单词默写纸
评论
0/150
提交评论