【问题标题】:AudioHardwareALSA errors with Android AudioRecordAndroid AudioRecord 的 AudioHardwareALSA 错误
【发布时间】:2010-12-19 22:17:16
【问题描述】:

我正在开始一个我正在编写的简单 AudioRecord 应用程序,它从以下一堆开始:

12-19 17:05:57.393: WARN/ResourceType(2233): Resources don't contain package for resource number 0x7f0800f4

然后是这个:

12-19 17:05:57.863: ERROR/AudioHardwareALSA(2182): AudioStreamInALSA::AudioStreamInALSA mMode=-1
12-19 17:05:57.863: ERROR/AudioHardwareALSA(2182): AudioStreamInALSA - input   - format = 1, channels = 16, rate = 44100
12-19 17:05:57.863: ERROR/AudioHardwareALSA(2182): AudioStreamInALSA - default - format = 1, channels = 16, rate = 44100
12-19 17:05:57.863: ERROR/AudioHardwareALSA(2182): AudioStreamInALSA - mDefaults->sampleRate = 44100
12-19 17:05:57.963: ERROR/AudioFlinger(2182): readInputParameters mInputBytes 8320, mFrameSize 2 mSampleRate 44100 mChannelCount(1)
12-19 17:05:57.963: ERROR/(2182): AFCCreateReSampler: avAFCInfo->bUsed[0] inSampleRate[44100] outSampleRate[44100] nChannel[1] outbitDepth[16]
12-19 17:05:58.278: WARN/AudioFlinger(2182): RecordThread: buffer overflow
12-19 17:05:58.328: WARN/IInputConnectionWrapper(6726): showStatusIcon on inactive InputConnection
12-19 17:06:05.598: ERROR/ALSALib(2182): external/alsa-lib/src/pcm/pcm.c:7231:(snd_pcm_recover) overrun occured

这可能意味着什么?如有必要,我可以发布源代码,但我正在寻找这些错误可能指的是什么以及为什么在这种情况下可能发生缓冲区溢出的基本答案。谢谢。

【问题讨论】:

  • +1,想知道这个问题的答案
  • @Tom 第一个错误“WARN/ResourceType...等”无关紧要。当音频缓冲区被填满并且读取速度不够快时,AudioRecord 对象会发生缓冲区溢出。当缓冲区填满且未被读取时,它需要丢弃线程并抛出这些缓冲区溢出错误以提醒开发人员您错过了一些样本。

标签: android audiorecord android-audiorecord


【解决方案1】:

查看错误“发生溢出”。阅读:

http://lxr.post-tech.com/source/external/alsa-lib/src/pcm/pcm.c 并在评论中解释:

266 此错误表示 xrun(回放时未运行或捕获时溢出)。 267 当应用程序不提供新样本时,可能会发生欠载 268 及时到 alsa-lib(由于 CPU 使用率)。溢出可能发生在 269 应用程序未及时从 alsa-lib 获取新捕获的样本。 270

所以这只是意味着捕获线程忙于做其他事情 - 对吗?也许您应该创建一个专门用于捕获音频流的线程?

但是读到这里:

http://programming-android.labs.oreilly.com/ch14.html

这也可能是由于为捕获分配的缓冲区不足。对吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 2011-06-10
    • 2012-09-28
    • 1970-01-01
    相关资源
    最近更新 更多