gpt4 book ai didi

android - AudioFlinger(59) : RecordThread: buffer overflow when Activity is paused?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:38 25 4
gpt4 key购买 nike

我有一个应用程序,它由一个服务和一个 Activity 组成,该 Activity 可能由该服务针对某些事件启动。该服务可以创建和使用 AudioRecord 和 AudioTrack 类——此时显示应用程序的 Activity。问题是如果 Activity 暂停(即调用 onPause())我开始收到 RecordThread:缓冲区溢出错误?

我的猜测是 AudioRecorder 在主线程中运行。而且,即使它是由服务创建的,当 Activity 暂停读取时缓冲区也会溢出? AudioRecorder 读取是否必须在单独的线程中完成,即使它正在服务中运行?

非常感谢任何帮助,谢谢。

最佳答案

如果您没有足够快地从 AudioRecord 对象中提取数据,就会发生 RecordThread 缓冲区溢出。

你绝对应该在单独的线程中有从 AudioRecord 对象中提取数据的循环,如果你的 Activity 暂停,你应该停止该线程(除非你想在后台录制。)

这里有几个工作实现的例子:

关于android - AudioFlinger(59) : RecordThread: buffer overflow when Activity is paused?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4829102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com