为什么不能在Android的语音呼叫播放音频文件 [英] Why it is not possible to play an audio file on a voice call in android

查看:259
本文介绍了为什么不能在Android的语音呼叫播放音频文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个问题似乎是,如下面的问题的重复:
<一href="http://stackoverflow.com/questions/8784221/how-to-play-an-audio-file-on-a-voice-call-in-android">How就在Android的语音呼叫播放音频文件
<一href="http://stackoverflow.com/questions/15588009/background-audio-for-a-call-in-progress-possible">Background音频的通话中 - 可能

This question might seem to be a repetition of the questions such as following:
How to play an audio file on a voice call in android
Background Audio for a Call in Progress - Possible?

的这些问题的答案,表明它不可能在机器人的语音呼叫发挥$ P $对记录的音频。我想知道为什么它是不可能的?什么是限制(硬件/软件)?它是一个真正的限制或故意做了什么?我们可以改变的Andr​​oid源$ C ​​$ C,使这可能吗?

The answers of these questions suggests that it is not possible to play a pre-recorded audio on a voice call in android. I want to know why it is not possible? What is the limitation (hardware/software)? Is it really a limitation or done purposely? Can we alter the source code of android to make it possible?

推荐答案

在进行深入的研究,我已经知道的是,有一个以上的限制/障碍,使之成为可能。这些限制/障碍是在三个不同的层次。

After a thorough research, what I have come to know is that there are more than one limitations/hurdles to make it possible. These limitations/hurdles are at three different levels.

第一个限制是在API层面,因为没有高层次的API中所提到的 Android的官方文档

First limitation is at API level, because there is no high-level API to play sound files in the conversation audio during a call as mentioned in Android official documentation.

第二个限制是无线接口层(RIL)。 RIL在调用Linux的库,然后再传递控制给供应商RIL无线电守护进程(RILD)的完全控制权通过。这意味着我们不能操纵Android源$ C ​​$ C语音呼叫。

Second limitation is at Radio Interface Layer (RIL). RIL passes on complete control of the call to Radio Daemon (rild) of the Linux library which then further passes the control to the vendor RIL. That means we cannot manipulate voice call in android source code.

即使我们能够去掉这两个限制,我们可能仍然无法播放音频文件,以正在进行的语音呼叫。因为有一个第三个限制。每个供应商都有自己的RIL库与无线电守护进程(RILD)进行通信。这就要求供应商RIL是这不是真正的开源。硬件供应商通常不会让自己的设备驱动程序,code可用。

Even if we are able to remove these two limitations, we may still not be able to play audio file to an ongoing voice call. Because there is a third limitation. Every vendor has their own library of RIL that communicates with Radio Daemon (rild). This requires that vendor RIL to be open source which is not actually. Hardware vendors do not usually make their device drivers code available.

有关此主题的详细讨论是present在此链接

Detail discussion on this topic is present at this link.

这篇关于为什么不能在Android的语音呼叫播放音频文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆