我希望创建一款应用程序,在屏幕上显示愚蠢的颜色,该颜色取决于扬声器发出的声音,特别是声音的强度,并且尽可能实时。
我认为有两种可能的情况可以让我到达我想要的地方:
1) 我可以播放我自己的音乐/声音文件并从我自己调用的 MediaPlayer 监视流 或
2) 我可以监控连接到扬声器的整个流,然后调用我自己的 MediaPlayer 和 sound.start()。
这两种方法之一或两者都可能吗?
我已经查找了两种可能的方法,但都没有找到,特别是 AudioTrack,经过一番绞尽脑汁后,似乎只能使用麦克风输入,这不是我想要的。有什么建议吗?
最佳答案
我自己没用过,但是Visualizer看起来它就是为了这个目的而设计的。您可以定位特定的 AudioTrack 或 MediaPlayer,或整个输出混音。
This post建议另一种策略,使用未记录的方法 MediaPlayer.snoop() (至少版本 6)。不过我不太明白。我想看看您是否可以让 Visualizer 工作。
This post还链接到一些示例。
关于android - 可以实时监控扬声器输出吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12645914/