2017-07-24 40 views
0

我該怎麼做?
我一直在嘗試運行此代碼,但每次運行它時,它都會顯示:
Error: Device unavailable
我的Linux:Ubuntu 17.04。 有什麼幫助嗎?PortAudio:設備不可用

#include <portaudio.h> 
#include <iostream> 

#define SAMPLE_RATE (48000) 
static float *data; 
PaStream *stream; 

int callback(const void *pVoid, void *pVoid1, unsigned long i, const PaStreamCallbackTimeInfo *pInfo, 
     PaStreamCallbackFlags i1, void *pVoid2); 

int main() { 
    PaError err; 
    /* Open an audio I/O stream. */ 
    err = Pa_OpenDefaultStream(&stream, 
          0,   /* no input channels */ 
          2,   /* stereo output */ 
          paFloat32, /* 32 bit floating point output */ 
          SAMPLE_RATE, 
          paFramesPerBufferUnspecified, /* frames per buffer */ 
          callback, /* this is your callback function */ 
          &data);  /*This is a pointer that will be passed to 
               your callback*/ 
    if (err != paNoError) { 
     std::cout << "Error: " << Pa_GetErrorText(err) << std::endl; 
     auto a = Pa_GetLastHostErrorInfo(); 
     if (a->errorCode != 0) { 
      std::cout << "Host error: " << a->errorText << std::endl; 
     } 
     return 1; 
    } 
return 0; 
} 

int callback(const void *pVoid, void *pVoid1, unsigned long i, const PaStreamCallbackTimeInfo *pInfo, 
      PaStreamCallbackFlags i1, void *pVoid2) { 
    // Do something with the stream... 
    return 0; 
} 

我不運行任何使用音頻的程序。

回答

-1

你應該openening流之前,正確初始化,並從那裏開始調試..

這裏是一個example你可以工作。

相關問題