当前位置: 首页 > 知识库问答 >
问题:

在Android 4.0 ICS中调用音频流修改

韩靖琪
2023-03-14

我一直在做一个项目,它将极大地受益于调用流修改。这已经被反复地说/假设是无法实现的,因为大多数人认为呼叫内音频的硬件环路与设备的主MCU完全断开。

像电话音频流这样的问题,Android已经收到了回答,称无法访问音频。我同意这在Android API中是绝对不可能的,但硬件是否真的完全断开是完全不清楚的。

stackoverflow用户“Artsylar”表示,他们能够修改Android OS的“框架层”,将录制的音频注入到呼叫流中,这将是一个巨大的进步(参见在正在进行的呼叫中播放音频剪辑,Artsylar对选定答案的评论)。假设Artsylar的成功是有效的,肯定有一种方法可以通过修改框架来控制呼叫流音频(我假设Android源代码中的telephony base框架)。

基本上,我完全同意从应用程序层修改或控制调用流是不可能的。然而,我对自定义Android操作系统的框架或无线电接口层感兴趣;artsylar似乎取得了成功,但在开放文学中没有解释如何成功。考虑到Android技术的现状,有没有人能澄清上述问题,从而确定是否可以通过修改核心Android操作系统来控制通话音频,以及实现这一目标的好方法?

我相信对这个问题的最后澄清将对开源社区有很大的价值。

谢了!

共有1个答案

李兴为
2023-03-14

在某些平台(例如高通的MSM8960和APQ8064)上,将音频注入语音呼叫上行链路在技术上是可能的。支持存在于硬件级别和设备驱动程序级别。但是,要使该功能适用于普通应用程序,您必须创建一个定制的Android ROM,在其中添加了Java层和Android原生层中所有必要的用户空间部分。

所以简单的回答是:不,作为一个应用程序开发人员,没有标准的方法来做到这一点(不管你是使用SDK还是NDK)。
如果你为OEM工作,或者通过其他方式能够构建和闪存你自己的Android ROMs,你可能可以通过询问你的平台供应商来获得你需要的信息。

 类似资料:
  • 我有一个长音频部分和一个短视频部分,我想在一起mux。 我正在尝试使用以下命令进行MUX: video_0-0002.h264-整个文件(2秒长) Audio.wav-从4秒到6秒 但音频被搞砸了...我怎样才能正确地做呢? 也试过了,听起来好像最后还是有寂静。

  • 问题内容: 我正在尝试建立一个程序来录制一部分互联网音频流,并将其保存到文件(最好是mp3或wav)。我到处都看过,找不到任何合适的方法来做到这一点。我找到了两个似乎可以工作的不同库(NativeBass和Xuggle),但我都不支持64位Windows。 有谁知道使用Java保存一部分互联网音频流的任何简单方法?(如果重要,则为“音频/ mpeg”流)。 编辑:好的,我发现了一种可行的方法。但是

  • 需要您的帮助,我检查音频流是否当您按下按钮或当程序启动的时刻,当您按下按钮,音频流是不可用的,然后没有发生,音乐没有播放,没有任何响应从程序没有我想让您认识到如何这样的响应尽可能做吗?

  • 我想修剪现有的aac-mp4音频文件。我第一次想“修剪”0个字节,基本上就是使用MediaCodec/MediaExtractor复制文件。 问题: 标题是固定大小的,我可以从旧文件中复制它?或者它有一些关于音轨持续时间的信息,我需要更新它?如果它有固定大小,那是什么(为了知道我应该从旧文件中复制多少字节)? 我应该只使用提取器的getSampleData(ByteBuffer,偏移量)和进步()

  • 问题内容: 我有一把吉他,我需要我的电脑能够分辨出正在演奏的音符,并识别出音调。可以在python中做到吗,也可以在pygame中做到吗?能够在pygame中做到这一点将非常有帮助。 问题答案: 要识别音频信号的频率,可以使用FFT(快速傅立叶变换)算法。据我所知,PyGame无法记录音频,也不支持FFT转换。 首先,您需要从声卡捕获原始采样数据。这种数据称为PCM(脉冲编码调制)。在Python

  • 我面临的问题,使用MediaPlayer以及原生Android音频播放器播放音频网址。这是我的网址http://live.politiafm.com:8500/politiafm.mp3 这是我的代码使用本机音频播放器Intent意图=new Intent(android.content.Intent。ACTION_VIEW);intent.setDataAndType(Uri.parse(STR