亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? haudio.c

?? 隱馬爾科夫模型工具箱
?? C
?? 第 1 頁 / 共 5 頁
字號:
#ifdef WIN32_AUDIO      EnterCriticalSection(&(a->c));#endif      for (inSamps=0,p=a->fHead;p!=NULL;p=p->next) inSamps+=p->n;#ifdef WIN32_AUDIO      LeaveCriticalSection(&(a->c));#endif      return inSamps;   }#endif#ifdef RS6000_AUDIO   {      long samps;            samps=0;      if ((a->rc = UMSAudioDevice_read_buff_used(a->adevin,                                                  a->evin,&samps))!=rOK)         HError(6006,"InSamples: Error accessing RS6000 read buffer");      return ((int)samps);   }#endif#ifdef SGI_AUDIO   {      return ALgetfilled(a->recPort);   }#endif#ifdef SUN16_AUDIO   {      int bytes=0;            ioctl(a->audio_ctld, FIONREAD, &bytes);      return(bytes/2);   }#endif#ifdef HPUX_AUDIO   {      int bytes=0;            ioctl(a->socket, FIONREAD, &bytes);      return(bytes/2);   }#endif#ifdef OSS_AUDIO   {      if (ioctl(audio_fd, SNDCTL_DSP_GETISPACE, &audio_info)==-1)         HError(6006, "InSamples: unable to obtain OSS buffer info.");      return (audio_info.bytes)/sizeof(short);   }#endif#ifdef NO_AUDIO   return 0;#endif}/* EXPORT->GetCurrentVol: obtain volume of input source */float GetCurrentVol(AudioIn a){   return a->curVol;}/* EXPORT->SetAudioInput: query/set audio device input */int AudioDevInput(int *mask) {   int in = HA_IN_NONE;   if (mask==NULL) {      if (lineIn) in|=HA_IN_LINE;      if (micIn)  in|=HA_IN_MIC;   } else {      in=*mask;      micIn = ((in&HA_IN_MIC)?TRUE:FALSE);      lineIn = ((in&HA_IN_LINE)?TRUE:FALSE);   }   return in;}/* EXPORT->AudioDevOutput: query/set audio device output */int AudioDevOutput(int *mask) {   int out = HA_OUT_NONE;   if (mask==NULL) {      if (speakerOut) out|=HA_OUT_SPEAKER;      if (phonesOut)  out|=HA_OUT_PHONES;      if (lineOut)    out|=HA_OUT_LINE;   } else {      out=*mask;      speakerOut = ((out&HA_OUT_SPEAKER)?TRUE:FALSE);      phonesOut = ((out&HA_OUT_PHONES)?TRUE:FALSE);      lineOut = ((out&HA_OUT_LINE)?TRUE:FALSE);   }   return out;}/* ReadAudio: read nSamples from audio device into buf */static void ReadAudio(AudioIn a, short *buf, int nSamples){   int i;   if (a->isActive!=ADS_SAMPLING && a->isActive!=ADS_STOPPED) {       for (i=0; i<nSamples; i++) *buf++=0;      return;   }#ifdef MMAPI_AUDIO   {      mmApiBuf *cur;      int n,needed=nSamples;      short *s=buf;            if (trace & T_AUD) {         printf(" Reading %d samples from MMAPI audio input\n",nSamples);         fflush(stdout);      }      do {#ifdef WIN32_AUDIO         EnterCriticalSection(&a->c);#endif         while (a->fHead==NULL) {            if (needed<=0) break;            /* Need to wait for callback */#ifdef WIN32_AUDIO            LeaveCriticalSection(&a->c);            WaitForSingleObject(a->callBackEvent, INFINITE);            ResetEvent(a->callBackEvent);            EnterCriticalSection(&a->c);#endif#ifdef DEC_AUDIO            mmeWaitForCallbacks();            mmeProcessCallbacks();#endif         }         cur=a->fHead;#ifdef WIN32_AUDIO         /* Contents of fHead are not going to change */         LeaveCriticalSection(&a->c);#endif         if (cur==NULL || needed<=0) break; /* End or have enough already */         if (cur->n<needed) n=cur->n;         else n=needed;         memcpy(s,((short*)cur->waveData)+cur->cur,n*sizeof(short));         s+=n; cur->cur+=n; cur->n-=n; needed-=n;         if (cur->n<=0) {#ifdef WIN32_AUDIO            EnterCriticalSection(&a->c);#endif            /* Remove from filled list */            if (cur->next==NULL) {               a->fHead=a->fTail=NULL;  /* No more to process */            }            else {               a->fHead=cur->next; cur->next->prev=NULL;            }            /* Add to ready queue */            cur->index=-1;            if (a->qTail==NULL) {               cur->next=cur->prev=NULL;               a->qTail=a->qHead=cur;            }            else {               cur->next=NULL; cur->prev=a->qTail;               a->qTail->next=cur; a->qTail=cur;            }            /* This may be necessary */#ifdef WIN32_AUDIO            if ((a->mmError=waveInUnprepareHeader(a->waveIn, cur->waveHdr,                                                  sizeof(WAVEHDR)))!=MMSYSERR_NOERROR)               HError(6006,"CloseAudi: Header Unpreparation failed");#endif            cur->waveHdr->lpData = cur->waveData;            cur->waveHdr->dwBufferLength = cur->size;            cur->waveHdr->dwBytesRecorded = 0;            cur->waveHdr->dwUser = ++a->total;            cur->waveHdr->dwFlags = 0;            cur->waveHdr->dwLoops = 0;#ifdef WIN32_AUDIO            if ((a->mmError=waveInPrepareHeader(a->waveIn, cur->waveHdr,                                                sizeof(WAVEHDR)))!=MMSYSERR_NOERROR)               HError(6006,"CloseAudi: Header Preparation failed");#endif                        if ((a->mmError=waveInAddBuffer(a->waveIn, cur->waveHdr,                                            sizeof(WAVEHDR)))!=MMSYSERR_NOERROR)               HError(6006,"ReadAudio: Buffer addition failed");#ifdef WIN32_AUDIO            /* Contents of fHead are not going to change */            LeaveCriticalSection(&a->c);#endif         }      }      while(needed>0);   }#endif#ifdef RS6000_AUDIO   {      UMSAudioTypes_Buffer ainBuf;             /* NOTE, ainBuf stores internally as unsigned char hence cast below */      ainBuf._length = nSamples*sizeof(short);         ainBuf._maximum = nSamples*sizeof(short);      ainBuf._buffer = (unsigned char *)buf;      if ((a->rc=UMSAudioDevice_read(a->adevin,a->evin,&ainBuf,                                     nSamples,&(a->sw)))!=rOK)         HError(6006,"ReadAudio: Cannot read from RS6000 audio device");      if ((a->sw!=nSamples) && !stopSignalled)         HError(-6006,                "ReadAudio: Failed to read all %d samples from RS6000 audio",nSamples);   }#endif#ifdef SGI_AUDIO   ALreadsamps(a->recPort, buf, nSamples);#endif#ifdef SUN16_AUDIO   {      int i,n;      char *ptr;            n=nSamples*sizeof(short);ptr=(char*)buf;      do {         if ((i = read(a->audio_ctld,ptr,n)) <= 0)            break;         ptr+=i;         n-=i;      }      while (n!=0);      if (i<=0 && !stopSignalled)         HError(-6006,"ReadAudio: Failed to read all %d samples from Sun audio",                nSamples);      a->numSamples+=nSamples;   }#endif#ifdef HPUX_AUDIO   {      int n;      char *ptr;            n=nSamples*sizeof(short);ptr=(char*)buf;      do {         if ((i = read(a->socket,ptr,n)) <= 0) {            break;         }         ptr+=i;         n-=i;      }      while (n!=0);      if (i<=0 && !stopSignalled)         HError(-6006,"ReadAudio: Failed to read all %d samples from HP audio",                nSamples);      while(n>0) *ptr++=0,n--;   }#endif#ifdef OSS_AUDIO   {      int n;      char *ptr;            n = nSamples*sizeof(short); ptr=(char*)buf;      do {         if ((i = read(audio_fd, ptr, n)) <= 0) {            break;         }         ptr += i; n -= i;      } while (n!=0);      if (i<=0 && !stopSignalled)         HError(-6006, "ReadAudio: Failed to read all %d samples from OSS audio", nSamples);      while(n>0) *ptr++=0,n--;   }#endif   if (nSamples > 64)       a->curVol = CalcVolume(buf, nSamples);}/* StartAudi: start the audio input device sampling */static void StartAudi(AudioIn a){   a->curVol = 0;   if (a->isActive!=ADS_OPEN) return;   if (trace&T_AUD) {      printf("Starting Audio Input from %d\n",a->isActive);      fflush(stdout);   }#ifdef MMAPI_AUDIO   {      int i;      mmApiBuf *p;            if ((a->mmError=waveInOpen(NULL, WAVE_MAPPER, (LPWAVEFORMAT)a->waveFmt,                                 NULL,0,WAVE_FORMAT_QUERY))!=MMSYSERR_NOERROR)         HError(6006,"StartAudi: Requested data format is not supported [ERR=%d]",a->mmError);      if ((a->mmError=waveInOpen(&a->waveIn, WAVE_MAPPER,(LPWAVEFORMAT)a->waveFmt,                                 callBackIn,a->magic,CALLBACK_FUNCTION))!=MMSYSERR_NOERROR)         HError(6006,"StartAudi: Cannot open MMAPI audio input [ERR=%d]",a->mmError);            a->total=0;      for (i=0;i<MMAPI_BUFFER_COUNT;i++) {         /* Add new buffer to end of list */         p=New(a->mem,sizeof(mmApiBuf));         p->waveHdr = mmeAllocMem(sizeof(WAVEHDR));         p->cur=p->n=0; p->next=p->prev=NULL;                  p->size = a->bufSize;         p->waveData = mmeAllocBuffer(p->size);         if(p->waveData==NULL)            HError(6006,"StartAudi: Unable to allocate audio buffer");         p->index = -1; p->cur=-1; p->n=0;                  /* Set up header */         p->waveHdr->lpData = p->waveData;         p->waveHdr->dwBufferLength = p->size;         p->waveHdr->dwBytesRecorded = 0; /* Unused */         p->waveHdr->dwUser = ++a->total;         p->waveHdr->dwFlags = 0;         p->waveHdr->dwLoops = 0;#ifdef WIN32_AUDIO         if ((a->mmError=waveInPrepareHeader(a->waveIn, p->waveHdr,                                              sizeof(WAVEHDR)))!=MMSYSERR_NOERROR)            HError(6006,"StartAudi: Header preparation failed");#endif                  /* Add in */         if (a->qTail==NULL) a->qHead=a->qTail=p;         else a->qTail->next=p,p->prev=a->qTail,a->qTail=p;                  if ((a->mmError=waveInAddBuffer(a->waveIn, p->waveHdr,                                          sizeof(WAVEHDR)))!=MMSYSERR_NOERROR)            HError(6006,"StartAudi: Cannot add input buffer %d",a->mmError);      }            /* And record */      a->qHead->index=a->current=1;   #ifdef DEC_AUDIO      /* Only needed with DEC API */      if (mmeCheckForCallbacks())         mmeProcessCallbacks();#endif      if ((a->mmError=waveInStart( a->waveIn ))!=MMSYSERR_NOERROR)          HError(6006,"StartAudi: Cannot start MMAPI input audio port [ERR=%d]",a->mmError);#ifdef WIN32_AUDIO      ResetEvent(a->callBackEvent);#endif   }#endif#ifdef RS6000_AUDIO      {      if ((a->rc = UMSAudioDevice_start(a->adevin,a->evin))!=rOK)         HError(6006,"StartAudi: Cannot start RS6000 audio input device");   }#endif#ifdef SGI_AUDIO   {      if ((a->recPort=ALopenport("HAudio_input","r",a->config))==NULL)         HError(6006,"StartAudi: Cannot open SGI input audio port");   }#endif#ifdef SUN16_AUDIO   {      ioctl(a->audio_ctld, I_FLUSH, FLUSHR);      ioctl(a->audio_ctld, AUDIO_GETINFO, &a->audio_info);      a->audio_info.record.pause=0;      ioctl(a->audio_ctld, AUDIO_SETINFO, &a->audio_info);   }#endif#ifdef HPUX_AUDIO   {      long st;      ATransStatus trst;      AGetTransStatus(a->audio,a->tid,&trst,&st);            AResumeAudio(a->audio,a->tid,&trst,&st);   }#endif#ifdef OSS_AUDIO   {       short sample;            if (read(audio_fd, &sample, sizeof(short))!=sizeof(short))         HError(6006, "StartAudi: Unable to start OSS audio port");   }#endif   a->isActive = ADS_SAMPLING;}/* StopAudi: stop the audio input device sampling */static void StopAudi(AudioIn a){   if (a->isActive!=ADS_SAMPLING) return;   if (trace&T_AUD) {      printf("Stopping Audio Input from %d\n",a->isActive);      fflush(stdout);   }#ifdef MMAPI_AUDIO   {      if ((a->mmError=waveInStop(a->waveIn))!=MMSYSERR_NOERROR ||          (a->mmError=waveInReset(a->waveIn))!=MMSYSERR_NOERROR)         HError(6006,"StopAudi: Cannot stop MMAPI input audio port [ERR=%d]",a->mmError);   }#endif#ifdef RS6000_AUDIO            if ((a->rc = UMSAudioDevice_stop(a->adevin,a->evin))!=rOK)      HError(6006,"StopAudi: Cannot stop RS6000 audio input device");#endif#ifdef SGI_AUDIO   ALcloseport(a->recPort);#endif#ifdef SUN16_AUDIO   ioctl(a->audio_ctld, AUDIO_GETINFO, &a->audio_info);   a->audio_info.record.pause=1;   ioctl(a->audio_ctld, AUDIO_SETINFO, &a->audio_info);#endif#ifdef HPUX_AUDIO   {      long st;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
jizz一区二区| 日韩精品福利网| 99久久久久免费精品国产| 欧美经典一区二区三区| 成人永久aaa| 中文字幕一区不卡| 欧美在线视频日韩| 日韩精品亚洲一区| 久久免费看少妇高潮| 成人福利视频网站| 亚洲一区二区三区视频在线| 日韩亚洲国产中文字幕欧美| 极品美女销魂一区二区三区免费| 久久精品人人做人人综合| 97久久超碰国产精品电影| 午夜视频久久久久久| 精品国产麻豆免费人成网站| 99久久er热在这里只有精品15| 一区二区三区视频在线观看| 91精品国产色综合久久不卡电影 | 韩国女主播成人在线| 国产欧美一区二区精品婷婷| 91片在线免费观看| 蜜桃精品视频在线| 中文字幕在线不卡视频| 欧美剧情片在线观看| 国产激情91久久精品导航| 一区二区在线观看不卡| 制服丝袜av成人在线看| 成人三级在线视频| 婷婷开心激情综合| 中文字幕制服丝袜一区二区三区| 欧美日韩成人综合天天影院| 国产mv日韩mv欧美| 免费在线观看一区| 亚洲女同ⅹxx女同tv| 久久久五月婷婷| 欧美午夜精品一区二区三区| 国产精品一区二区久久不卡| 亚洲高清视频中文字幕| 欧美精彩视频一区二区三区| 欧美一区二区高清| 91老师国产黑色丝袜在线| 精品一区二区三区影院在线午夜| 一区二区三区国产豹纹内裤在线| 2021久久国产精品不只是精品| 欧美无砖砖区免费| 成人成人成人在线视频| 日本vs亚洲vs韩国一区三区二区| 亚洲人吸女人奶水| 久久久亚洲午夜电影| 91麻豆国产在线观看| 国产伦精品一区二区三区视频青涩| 亚洲网友自拍偷拍| 亚洲精品成人a在线观看| 国产精品伦一区| 久久久久久**毛片大全| 精品国产乱码久久久久久老虎| 欧美日韩激情在线| 欧美午夜精品一区二区三区| 99热在这里有精品免费| 粉嫩欧美一区二区三区高清影视 | 欧美日韩中字一区| 99这里只有精品| 国产一区亚洲一区| 免费在线观看一区二区三区| 视频一区二区欧美| 水野朝阳av一区二区三区| 亚洲一区二区三区国产| 一区二区三区精品视频| 亚洲精品videosex极品| 亚洲免费在线电影| 亚洲人精品午夜| 一区二区三区欧美激情| 一区二区三区在线免费观看| 夜夜精品视频一区二区| 一区二区三区高清| 五月天亚洲精品| 日本美女视频一区二区| 轻轻草成人在线| 精品制服美女丁香| 国产精品亚洲第一区在线暖暖韩国| 精品在线观看视频| 国产成人综合在线播放| 成人av影院在线| 色综合天天综合| 91久久精品日日躁夜夜躁欧美| 欧洲亚洲精品在线| 91精品午夜视频| 精品国产伦一区二区三区免费| 精品88久久久久88久久久| 国产婷婷色一区二区三区| 国产精品久99| 亚洲精品国产一区二区精华液| 亚洲自拍偷拍网站| 蜜桃久久久久久久| 国产成人h网站| 在线亚洲欧美专区二区| 欧美一区二区三区免费大片 | 欧美人伦禁忌dvd放荡欲情| 在线成人av网站| 久久久高清一区二区三区| 国产精品久久免费看| 亚洲成人免费视| 国产一区二区伦理| 色婷婷综合久久久久中文 | 亚洲一二三四在线观看| 视频一区免费在线观看| 久久91精品久久久久久秒播| voyeur盗摄精品| 欧美一区在线视频| 国产精品成人一区二区三区夜夜夜| 一区二区三区在线免费视频| 九九热在线视频观看这里只有精品| 成人短视频下载| 日韩一区二区三区免费观看| 欧美国产日本韩| 日本91福利区| 成人ar影院免费观看视频| 欧美日韩国产123区| 国产精品情趣视频| 日本午夜一本久久久综合| 99久久精品免费看| 欧美成人精精品一区二区频| 一区二区免费在线播放| 高清国产一区二区| 制服丝袜在线91| 亚洲日本一区二区| 国产乱色国产精品免费视频| 91精品办公室少妇高潮对白| 久久亚洲综合av| 亚洲大片在线观看| 91在线无精精品入口| 久久综合网色—综合色88| 偷拍一区二区三区| www.av亚洲| 久久中文娱乐网| 免费观看日韩电影| 精品视频一区二区三区免费| 国产精品久久一卡二卡| 激情综合色丁香一区二区| 欧美亚洲综合一区| 亚洲日本丝袜连裤袜办公室| 国产成人欧美日韩在线电影| 欧美一区二区三区视频在线 | 8x8x8国产精品| 一区二区三区四区高清精品免费观看 | 日韩avvvv在线播放| 日本高清免费不卡视频| 国产精品天美传媒| 国产乱淫av一区二区三区| 日韩欧美国产高清| 男人操女人的视频在线观看欧美| 欧美色区777第一页| 亚洲精品午夜久久久| jlzzjlzz欧美大全| 国产精品欧美极品| aaa国产一区| 亚洲日本欧美天堂| 色婷婷av一区二区三区软件| √…a在线天堂一区| 成人v精品蜜桃久久一区| 国产精品系列在线| 99免费精品视频| 综合久久国产九一剧情麻豆| 99久久精品国产精品久久| 中文字幕在线观看一区二区| 99视频在线观看一区三区| 亚洲男人的天堂一区二区| 97国产一区二区| 亚洲最快最全在线视频| 91精品1区2区| 亚州成人在线电影| 日韩视频一区二区在线观看| 看电影不卡的网站| 国产午夜精品福利| 成人sese在线| 日韩美女久久久| 欧美性猛片aaaaaaa做受| 午夜电影久久久| 精品剧情在线观看| 国产一区二区影院| 日韩一区欧美小说| 欧美美女一区二区在线观看| 奇米亚洲午夜久久精品| 26uuu久久天堂性欧美| 99精品在线免费| 亚洲成人av电影在线| 精品久久久久一区| 99精品视频一区二区三区| 亚洲午夜精品一区二区三区他趣| 欧美久久久影院| 国产精品夜夜爽| 亚洲日本韩国一区| 日韩一区二区三区av| 国产激情一区二区三区四区| 一区二区三区91| 精品区一区二区| 91精品一区二区三区久久久久久| 麻豆成人久久精品二区三区小说|