我正在使用 twilio JS 客户端从 Web 进行调用。客户端调用后端获取令牌。这里是返回令牌的后端代码。如何记录通话。表示在哪里设置录制网址。通话成功。但不知道从哪里传递录制网址。
public function newToken(Request $request)
{
$accountSid = config('services.twilio')['accountSid'];
$applicationSid = config('services.twilio')['applicationSid'];
$apiKey = config('services.twilio')['apiKey'];
$apiSecret = config('services.twilio')['apiSecret'];
$voiceGrant = new VoiceGrant();
$voiceGrant->setOutgoingApplicationSid($applicationSid);
$voiceGrant->setIncomingAllow(true);
$this->accessToken->addGrant($voiceGrant);
$token = $this->accessToken->toJWT();
return response()->json(['token' => $token]);
}
Run Code Online (Sandbox Code Playgroud)
在 JS 端,使用 twillio 客户端库的代码。
const Device = Twilio.Device;
// Store some selectors for elements we'll reuse
var callStatus = $("#call-status");
var answerButton = $(".answer-button");
var callSupportButton = $(".call-support-button");
var hangUpButton = $(".hangup-button");
var callCustomerButtons = $(".call-customer-button");
var device = null;
function …Run Code Online (Sandbox Code Playgroud) 从 Android 10 开始,我必须使用辅助功能访问,您可以使用具有源语音识别功能的 MediaRecorder 来录制通话。问题是,在某些设备上,录音不是双向的 - 只有一种声音。
这是 MediaRecorder 的基本实现:
MediaRecorder recorder=new MediaRecorder();
recorder.setAudioSource(AudioSource.VOICE_RECOGNITION);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.HE_AAC);
recorder.prepare(); Thread.sleep(2000); recorder.start();
Run Code Online (Sandbox Code Playgroud)
我从 Google Play 测试了 Cube ACR。他们可以选择将音频源设置为“语音识别软件”。如果启用此功能,您可以获取对话的双方。
我在网上没有找到与“语音识别软件”相关的东西。有谁知道如何做到这一点?- 也许是一个 github 项目
有谁有一个可以在新版本的 Android 上录制对话的两个部分的解决方案吗?Android 12 或 Android 13。
谢谢
我正在尝试在 android 上录制语音通话。我正在使用 android 的 AudioRecord 类/api 来执行此操作。但是由于某种原因,AudioRecord 无法在某些设备上录制语音通话(尤其是在最新的 OS 6.0、7.0 中)。每当我将 AudioRecord 对象的 AudioSource 参数设置为“VOICE_CALL”即(MediaRecorder.AudioSource.VOICE_CALL)时,它都会给我这个异常
java.lang.IllegalStateException: startRecording() 在未初始化的 AudioRecord 上调用
但是当我将音频源设置为“MIC”时,它工作正常,但当然不会记录语音通话。
我尝试使用 android 的 MediaRecord 类,但遇到了同样的问题,即适用于“MIC”但缺乏“VOICE_CALL”。我也在多个论坛上尝试了许多可用的解决方案,但仍然没有运气。
下面我分享了我的一小段代码。对此的任何帮助将不胜感激。谢谢
recorder = new AudioRecord(MediaRecorder.AudioSource.VOICE_CALL,
44100, AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT, AudioRecord.getMinBufferSize(44100,AudioFormat.CHANNEL_IN_MONO,AudioFormat.ENCODING_PCM_16BIT));
recorder.startRecording();
Run Code Online (Sandbox Code Playgroud) java android audiorecord android-mediarecorder call-recording
我正在从MainActivity启动一项服务,该服务无限期地运行以查找传入和传出的记录.
为什么示例"switch-case"不起作用?
没有错误发生,但我只能记录每个传入和传出.
录制呼叫后服务将被终止,它将被重新创建START_STICKY但永远不会开始.
请帮忙.提前致谢!
是否还有其他代码记录android中的传入和传出呼叫?
package com.exampled.demoserv;
import java.io.File;
import java.io.IOException;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.media.MediaRecorder;
import android.os.Environment;
import android.os.Handler;
import android.os.IBinder;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.widget.Toast;
public class ParentalService extends Service
{
@Override
public void onCreate()
{
//Toast.makeText(getApplicationContext(), "Service Created", Toast.LENGTH_SHORT).show();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
// TODO Auto-generated method stub
//Toast.makeText(getApplicationContext(), "Subu's Monitoring sTARTED", Toast.LENGTH_SHORT).show();
startMonitor();
return START_STICKY_COMPATIBILITY;
}
@Override
public IBinder onBind(Intent arg0)
{ …Run Code Online (Sandbox Code Playgroud)