#include <CoreAudio/CoreAudio.h>
#include <AudioUnit/AudioUnit.h>
#include <AudioUnit/AudioOutputUnit.h>
#include <AudioToolbox/AudioConverter.h>
#include <pthread.h>
#include <stdio.h>
マクロ定義 | |
#define | DEVICE_NAME_LEN 128 |
#define | BUF_SAMPLES 4096 |
#define | BITS_PER_BYTE 8 |
型定義 | |
typedef SInt16 | Sample |
typedef unsigned char | boolean |
関数 | |
static void | printStreamInfo (AudioStreamBasicDescription *desc) |
static void | printAudioBuffer (AudioBuffer *buf) |
static AudioBufferList * | allocateAudioBufferList (UInt32 data_bytes, UInt32 nsamples, UInt32 nchan) |
static OSStatus | ConvInputProc (AudioConverterRef inConv, UInt32 *ioNumDataPackets, AudioBufferList *ioData, AudioStreamPacketDescription **outDataPacketDesc, void *inUserData) |
static OSStatus | InputProc (void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData) |
boolean | adin_mic_standby (int sfreq, void *dummy) |
Connection initialization: check connectivity and open for recording. | |
boolean | adin_mic_begin () |
Start recording. | |
boolean | adin_mic_end () |
Stop recording. | |
int | adin_mic_read (void *buffer, int nsamples) |
void | adin_mic_pause () |
変数 | |
static UInt32 | ConvQuality = kAudioConverterQuality_Medium |
static UInt32 | BytesPerSample = sizeof(Sample) |
static AudioDeviceID | InputDeviceID |
static AudioUnit | InputUnit |
static AudioConverterRef | Converter |
static pthread_mutex_t | MutexInput |
static pthread_cond_t | CondInput |
static bool | CoreAudioRecordStarted = FALSE |
static bool | CoreAudioHasInputDevice = FALSE |
static bool | CoreAudioInit = FALSE |
static UInt32 | NumSamplesAvailable = 0 |
static UInt32 | InputDeviceBufferSamples = 0 |
static UInt32 | InputBytesPerPacket = 0 |
static UInt32 | InputFramesPerPacket = 0 |
static UInt32 | InputSamplesPerPacket = 0 |
static UInt32 | OutputBitsPerChannel = 0 |
static UInt32 | OutputBytesPerPacket = 0 |
static UInt32 | OutputSamplesPerPacket = 0 |
static AudioBufferList * | BufList |
static AudioBufferList | BufListBackup |
static AudioBufferList * | BufListConverted |
by Masatomo Hashimoto <m.hashimoto@aist.go.jp>
Tested on Mac OS X v10.3.9 and v10.4.1
このプログラムは, 独立行政法人 産業技術総合研究所 情報技術研究部門 ユビキタスソフトウェアグループ より提供されました.
adin_mic_darwin_coreaudio.c で定義されています。
boolean adin_mic_standby | ( | int | sfreq, | |
void * | dummy | |||
) |
Connection initialization: check connectivity and open for recording.
sfreq | [in] required sampling frequency | |
dummy | [in] a dummy data |
adin_mic_darwin_coreaudio.c の 285 行で定義されています。
boolean adin_mic_begin | ( | ) |
Start recording.
adin_mic_darwin_coreaudio.c の 571 行で定義されています。
boolean adin_mic_end | ( | ) |
Stop recording.
adin_mic_darwin_coreaudio.c の 572 行で定義されています。