gpt4 book ai didi

android - 在 Android 中接到电话时说出录制的文本

转载 作者:行者123 更新时间:2023-11-29 16:41:37 25 4
gpt4 key购买 nike

我正在开发一个应用程序,我想在其中生成一个语音文件,即每次在拨出电话时使用文本到语音的书面文本。我能够使用辅助功能服务检测接收者何时接听电话。这是代码:-

public class CallDetection extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {

if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED) {
Log.i("myaccess", "in window changed");


AccessibilityNodeInfo info = event.getSource();
if (info != null && info.getText() != null) {
String duration = info.getText().toString();
String zeroSeconds = String.format("%02d:%02d", new Object[]{Integer.valueOf(0), Integer.valueOf(0)});
String firstSecond = String.format("%02d:%02d", new Object[]{Integer.valueOf(0), Integer.valueOf(1)});
Log.d("myaccess", "after calculation - " + zeroSeconds + " --- " + firstSecond + " --- " + duration);
if (zeroSeconds.equals(duration) || firstSecond.equals(duration)) {
Toast.makeText(getApplicationContext(), "Call answered", Toast.LENGTH_SHORT).show();
// Your Code goes here

}
info.recycle();
}

}
}

@Override
protected void onServiceConnected() {
super.onServiceConnected();
Toast.makeText(this, "Service connected", Toast.LENGTH_SHORT).show();
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.eventTypes = AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC;
info.notificationTimeout = 0;
info.packageNames = null;
setServiceInfo(info);
}

@Override
public void onInterrupt() {

}

现在,我正在使用文字转语音来播放语音,但这在这里不起作用。我既不能在服务中使用它,也不能在另一部手机上发出任何声音。我搜索并发现 android 不允许应用程序在通话期间发送语音。真的吗?帮我解决这个问题。

最佳答案

你发现的是绝对正确的。出于安全考虑,Android API 不允许直接访问语音输入。因此,无法在普通设备上实现您想要实现的目标。

我们想到的另一种可能性是在通话过程中播放音频剪辑。请参阅 official docs 中的这句话关于通话时使用媒体播放器

You can play back the audio data only to the standard output device. Currently, that is the mobile device speaker or a Bluetooth headset. You cannot play sound files in the conversation audio during a call.

唯一的一步是自定义操作系统/硬件,它将提供的音频作为普通设备中的麦克风输入。

关于android - 在 Android 中接到电话时说出录制的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50429134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com