Android 使用Soundflower驱动程序通过GenyMoon进行音频录制

Android 使用Soundflower驱动程序通过GenyMoon进行音频录制,android,macos,audio,twilio,genymotion,Android,Macos,Audio,Twilio,Genymotion,我在尝试从应用程序录制音频时遇到了一个有趣的问题(出于自动化目的): 我的系统是: Mac mini OS X Yosemite I'm running Genymotion VirtualBox with the following Audio settings: Host Audio Driver: CoreAudio Audio Controller: ICH AC97 Sound driver is Soundflower (Input Soundflower (2ch), Outpu

我在尝试从应用程序录制音频时遇到了一个有趣的问题(出于自动化目的):

我的系统是:

Mac mini OS X Yosemite
I'm running Genymotion 
VirtualBox with the following Audio settings:
Host Audio Driver: CoreAudio
Audio Controller: ICH AC97
Sound driver is Soundflower (Input Soundflower (2ch), Output Soundflower (2ch))
我正在使用Twilio通过自己的客户端发起VoIP呼叫。 所以我的流程基本上是这样的:我在Genymotion上打开应用程序,打电话到某个号码,有人接听并讲话,这个声音通过Soundflower从输出到输入,我在Audacity中录制(单声道录制)

这种情况下,有时会起作用-每隔一次通话,或多或少都不会产生任何声音。几乎每秒钟或第三次录音都是空的

为了解决这个问题,我做了以下工作:

  • 在其他一些声音应用程序(如youtube)中的Genymotion上播放声音,并在Audacity中录制——这总是有效的
  • 我尝试使用Twilio demo应用程序打电话(使用我自己的后端服务),这似乎也总是有效(在我的客户机和他们的demo应用程序中使用Twilio的相同jar和so文件) 这让我相信问题与我的客户端应用程序有关

    当我有一个声音有效的呼叫时我在adb logcat中看到:

    E/genymotion_audio(  464): get_next_buffer() pcm_read error -16
    E/genymotion_audio(  464): get_next_buffer() pcm_read error -16
    E/genymotion_audio(  464): get_next_buffer() pcm_read error -16
    E/genymotion_audio(  464): get_next_buffer() pcm_read error -16 
    
    W/AudioFlinger(  464): write blocked for 10238 msecs, 2 delayed writes, thread 0xb58ba000
    
    当我接到一个声音不起作用的呼叫时我看到以下adb日志:

    E/genymotion_audio(  464): get_next_buffer() pcm_read error -16
    E/genymotion_audio(  464): get_next_buffer() pcm_read error -16
    E/genymotion_audio(  464): get_next_buffer() pcm_read error -16
    E/genymotion_audio(  464): get_next_buffer() pcm_read error -16 
    
    W/AudioFlinger(  464): write blocked for 10238 msecs, 2 delayed writes, thread 0xb58ba000
    
    当我在谷歌上搜索AudioFlinger错误时,它似乎与有人试图以高采样率播放音频的情况有关,但我的情况不同,因为它是voip,所以采样率可能是8khz

    想知道是否有人遇到过类似的问题/对如何进一步确定这一点有何想法

    编辑:我尝试过的其他事情:

  • Windows 8+Genymotion-使用Audacity录制相同的场景。(Oracle VirtualBox Audio是主机驱动程序:Windows DirectSound和控制器:ICH AC97)。我用VB虚拟电缆驱动程序代替Soundflower。 它工作得很好

  • 在Mac上,用WavTap驱动程序取代Soundflower,仍然存在同样的问题