Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以在有根的Android上截取音频吗?_Android_Linux_Audio - Fatal编程技术网

我可以在有根的Android上截取音频吗?

我可以在有根的Android上截取音频吗?,android,linux,audio,Android,Linux,Audio,我知道不可能将预先存在的Android应用程序(比如Spotify)的音频输出重定向到USB声卡或文件。我相信这可能与隐私和电话录音有关 我不太了解Linux,但知道它非常灵活,经常阅读关于将一个程序的输出管道化到另一个程序的输入的文章。我还看到在一些android的dev目录中有一些名为“audio”的“文件” 我的问题是——这些是否与原始音频输出相对应?如果平板电脑/手机是根用户,是否可以用一些Linux魔法截获流 我的动机是提供比基本扬声器/耳机/蓝牙选项更高质量的音频输出。简短的回答是肯

我知道不可能将预先存在的Android应用程序(比如Spotify)的音频输出重定向到USB声卡或文件。我相信这可能与隐私和电话录音有关

我不太了解Linux,但知道它非常灵活,经常阅读关于将一个程序的输出管道化到另一个程序的输入的文章。我还看到在一些android的dev目录中有一些名为“audio”的“文件”

我的问题是——这些是否与原始音频输出相对应?如果平板电脑/手机是根用户,是否可以用一些Linux魔法截获流


我的动机是提供比基本扬声器/耳机/蓝牙选项更高质量的音频输出。

简短的回答是肯定的,您可以一起破解一些东西。但特定手机的音频实现完全由制造商决定,因此无法保证。这不可能像你想象的那么简单。它没有单行命令行的魔力

Android不使用通常的LinuxALSA用户空间代码,所以你不能从Linux中概括并说“如果我能在Linux中做到这一点,我就可以在有根的Android上做到”

我认为一些Android实现使用TinyALSA,但这不是一个要求。如果是这种情况,您可以使用自己的拦截逻辑重新编译TinyALSA,或者以其他方式插入设备。类似地,如果您运行的是从源代码构建的Android mod,您可以对其进行修改,以便在其他级别(如音频Flinger或HAL接口)截取音频。如果您只是使用根设备,这就不太实际了,因为制造商通常会通过定制来修改系统元素,这可能会使您难以插入和拦截(只是因为如果修改了API,您不知道要替换什么)


这个答案中的大部分信息是我从阅读文章中收集到的。您可以查看档案了解更多信息。

市场上已经有支持USB音频的Android手机(插入USB DAC,它应该自动路由到,就像您插入了3.5毫米耳机一样)。不过,您将获得的输出通常限制为48 kHz 16位立体声。谢谢Michael-您知道这适用于哪个品牌或型号吗?马提尼只在索尼手机上测试过;特别是XPeria Z/ZL。据我记忆所及,它也适用于XPeria V和TL。据推测,一些三星手机也支持USB音频,但我不知道具体是哪种型号。请记住,您很可能需要USB-B到USB microA适配器。我还发现,从手机中获取大量电能的配件可能工作不好,或者根本不工作。这对USB DAC来说应该不是问题,因为他们通常有自己的电源。再次感谢-尽管我仍然想知道这个问题的技术方面是否有答案。更新-我测试了Xperia Z平板电脑,是的,它可以与无品牌USB声卡一起工作,但不能与Lindy USB 2.0音频适配器一起工作-它几乎可以正常工作平板电脑响应Lindy上的音量控制,但没有声音。嗨,罗斯-谢谢。这是有用的,让我想到了这一点,我想我的下一步将是尝试和根Nexus7-我的首选安卓为这个-马丁