gpt4 book ai didi

Android无法录制清晰语音的来电

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

我只能从这个代码中记录我的声音,而不是反对轮流。

我使用 MediaRecorder.AudioSource.VOICE_CALL 而不是 MediaRecorder.AudioSource.MIC

但我仍然只能听到自己的声音。

这是我的代码

public class RecorderService extends IntentService {

private Context mContext;
private MediaRecorder recorder;
static final String TAGS = "RecorderService";

private String phoneNumber;

public RecorderService() {
super("RecorderService");
}

@Override
protected void onHandleIntent(Intent intent) {
}

@Override
public int onStartCommand(@Nullable Intent intent, int flags, int startId) {
Log.e(TAGS, "Started!");
mContext = getApplicationContext();

phoneNumber = intent.getStringExtra("number");
Log.e(TAGS, "Calling Number : " + phoneNumber);

recorder = new MediaRecorder();
startRecording();

return START_NOT_STICKY;
}

@Override
public void onDestroy() {
super.onDestroy();
Log.e(TAGS, "Stopped!");
stopRecording();
}

private void startRecording() {
Log.e(TAGS, "Recording Started");

File file = new File(Environment.getExternalStorageDirectory()
+ File.separator
+ "My Records"
+ File.separator);

recorder.reset();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setOutputFile(file.getAbsolutePath() + "record.mp3");

try {
recorder.prepare();
} catch (IOException e) {
e.printStackTrace();
}
recorder.start();
}

private void stopRecording() {
Log.e(TAGS, "Recording Stopped");
if (recorder != null) {
recorder.stop();
recorder.reset();
recorder.release();
recorder = null;
}
}
}

任何建议!

最佳答案

你不能。除非您是系统应用程序(您需要安装自己的自定义操作系统或成为 root 用户才能获取),否则不会。 VOICE_CALL 需要 CAPTURE_AUDIO_OUTPUT 权限,这是系统权限 - 普通应用无法使用它。

Play 商店中的其他应用程序如何做到这一点?他们使用麦克风,并希望通话的输出声音足够大以便接听。

关于Android无法录制清晰语音的来电,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55877597/

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