類別:HostApi
音訊驅動介面
類型 | 使用 | 成員 | 說明 |
建構子 | public | ||
解構子 | public | ||
列舉 | public | 編碼列表。 |
|
資料 | public | 這個音訊驅動介面的開始設備編號。 |
|
資料 | public | 音訊驅動介面資訊。 |
|
資料 | public | 音訊驅動介面列表。 | |
函式 | public | Stream ** stream , const StreamParameters * inputParameters , const StreamParameters * outputParameters , double sampleRate , CaUint32 framesPerCallback , CaStreamFlags streamFlags , Conduit * streamCallback ) = 0 |
開啟音訊串流。 |
函式 | public | 結束使用音訊驅動介面。 |
|
函式 | public | const StreamParameters * inputParameters , const StreamParameters * outputParameters , double sampleRate ) = 0 |
是否支援串流格式。 |
函式 | public | 音訊驅動設備名稱編碼。 |
|
函式 | public | 是否有全雙工功能。 | |
函式 | public | 設定除錯物件。 | |
函式 | public | CaDeviceIndex * hostApiDevice , CaDeviceIndex device ) |
將設備編號轉換到音訊驅動介面當中的設備編號。 |
資料 | protected | 除錯物件。 |
說明
音訊驅動介面必須繼承這個類別來實作實際的音訊輸出入操作。C/C++定義
class HostApi
{
public:
typedef enum {
NATIVE = 0 ,
UTF8 = 1 ,
UTF16 = 2 }
Encoding ;
unsigned long baseDeviceIndex ;
HostApiInfo info ;
DeviceInfo ** deviceInfos ;
explicit HostApi (void) ;
virtual ~HostApi (void) ;
virtual CaError Open (Stream ** stream ,
const StreamParameters * inputParameters ,
const StreamParameters * outputParameters ,
double sampleRate ,
CaUint32 framesPerCallback ,
CaStreamFlags streamFlags ,
Conduit * streamCallback ) = 0 ;
virtual void Terminate (void) = 0 ;
virtual CaError isSupported (const StreamParameters * inputParameters ,
const StreamParameters * outputParameters ,
double sampleRate ) = 0 ;
virtual Encoding encoding (void) const = 0 ;
virtual bool hasDuplex (void) const = 0 ;
void setDebugger (Debugger * debug) ;
virtual CaError ToHostDeviceIndex (
CaDeviceIndex * hostApiDevice ,
CaDeviceIndex device ) ;
protected:
Debugger * debugger ;
};typedef CaError HostApiInitializer(HostApi **,CaHostApiIndex) ;
extern HostApiInitializer ** caHostApiInitializers ;
extern void ReplaceHostApiInitializer ( HostApiInitializer ** replacement ) ;