简体   繁体   English

在呼叫时编辑语音 - Android

[英]Editing Voice while calling - Android

I am newbie in android developing, I have searched for this question but i didn't find my answer. 我是android开发的新手,我搜索了这个问题,但我找不到答案。

I want to know is there any ability to edit the sound calls in android? 我想知道有没有能力在android中编辑声音调用?

I mean i want to add noise or change sounds of caller, Is it possible to change the sound in calls or adding a new sound to it? 我的意思是我想添加噪音或改变来电者的声音,是否可以改变通话中的声音或为其添加新声音?

TL DR : The answer is not yet. TL DR:答案还没有。


And it's not like we've been waiting. 这不像我们一直在等待。 The first entry i can find is from July 31 of 2009, the issue #3434 and, as of today (May 13 of 2015) it's still has not been assigned. 我可以找到的第一个条目是2009年7月31日, 问题#3434 ,截至今天(2015年5月13日), 它还没有被分配。 在此输入图像描述

It's really hard to actually work on low-latency project, audio recording and of course, voices changers when you can't do low latency. 实际上很难实现低延迟项目,录音,当然,如果你不能做低延迟,也应该改变声音。

Not to say there's hasn't been any workarounds, you could emulate yourself the call, and add the voice effect sure (build your own dialer, and work with that), but let me warn you : you probably won't have any good perfs when it comes to real-time appliucations. 不是说没有任何变通方法,你可以模仿自己的电话,并确保添加语音效果(建立你自己的拨号器,并使用它),但让我警告你:你可能没有任何好处在实时应用方面表现出色。 No low-latency means no efficiency when it comes to audio recording. 没有低延迟意味着在录音方面没有效率。

You'll have to wait then. 你必须等待。

Your question can be resolved partially depending your using model. 您的问题可以根据您的使用模型部分解决。 the premises are : 该处所是:

  1. you just want to eject some noise into your outgoing audio stream, not into the incoming audio stream. 您只想将一些噪音弹出到输出音频流中,而不是输入到输入音频流中。
  2. you may use a third-party VoIP application to make the phone call. 您可以使用第三方VoIP应用程序拨打电话。

or simply say, you just want the peer to hear some modified voice. 或者简单地说,你只是希望同伴听到一些修改后的声音。 it is feasible. 这是可行的。

Normal a native phone application on Android platform uses "Android audio system module" in the framework, the vendor provided audio libraries and Linux ALSA audio libraries to transmit/receive the audio data. 正常Android平台上的本机电话应用程序在框架中使用“Android音频系统模块”,供应商提供音频库和Linux ALSA音频库来传输/接收音频数据。 These .so and .a files are under the read-only mode normally and could not be overwritten by user, so you can not inject data into this data chain. 这些.so和.a文件通常处于只读模式,无法被用户覆盖,因此您无法将数据注入此数据链。

But you have more capability to manipulate the data if you use a VoIP application to make the phone call, some VoIP applications can give a real phone number, like Fongo, you can receive a phone call to that number, the caller does not know you are using a VoIP application to speak. 但是如果你使用VoIP应用程序拨打电话,你有更多的操作数据的能力,一些VoIP应用程序可以提供真实的电话号码,比如Fongo,你可以接听到这个号码的电话,来电者不认识你正在使用VoIP应用程序发言。

So if I was assigned to do this project, here are my steps: 所以如果我被分配去做这个项目,这是我的步骤:

  1. find a usable and open sourced VoIP client on Android. 在Android上找到可用的开源VoIP客户端。
  2. find the code to sample the audio data from microphone ,add the code to manipulate the raw PCM data and send the result to audio encoder. 找到从麦克风采样音频数据的代码,添加代码来操作原始PCM数据并将结果发送到音频编码器。
  3. build and run it on Android 在Android上构建并运行它
  4. register or apply a phone number for this VoIP client. 注册或申请此VoIP客户端的电话号码。
  5. done. 完成。

Hope it help 希望它有所帮助

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM