gpt4 book ai didi

android - 小米设备通话录音时 MediaRecorder.start() 启动失败

转载 作者:行者123 更新时间:2023-12-02 16:48:34 25 4
gpt4 key购买 nike

在录制通话时遇到 recorder.start() 问题,在某些设备中生成异常启动失败,在某些设备中仅录制一侧语音,在某些设备中工作正常。实际上在小米设备中不起作用下面是我的代码。

                recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
recorder.setAudioSamplingRate(8000);
recorder.setAudioEncodingBitRate(12200);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(audioFile.getAbsolutePath());
try {
recorder.prepare();
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
recorder.start();

提前致谢

最佳答案

我认为您忘记检查权限。在启动 MediaRecorder 之前调用 checkPermission()。

public void checkPermission() {
// Check for permissions
int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
int permissionRecord = ActivityCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO);
// If we don't have permissions, ask user for permissions
if (permission != PackageManager.PERMISSION_GRANTED || permissionRecord != PackageManager.PERMISSION_GRANTED) {
String[] PERMISSIONS_STORAGE = {
android.Manifest.permission.READ_EXTERNAL_STORAGE,
android.Manifest.permission.RECORD_AUDIO,
android.Manifest.permission.WRITE_EXTERNAL_STORAGE
};

ActivityCompat.requestPermissions(
AudioRecorderActivity.this,
PERMISSIONS_STORAGE,
PERMISSION_REQUEST_RECORD
);
}
}


@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case PERMISSION_REQUEST_RECORD: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 1
&& grantResults[1] == PackageManager.PERMISSION_GRANTED && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
} else {
Toast.makeText(this, "Recording permission not found", Toast.LENGTH_LONG).show();
finish();
}
}
}
}

关于android - 小米设备通话录音时 MediaRecorder.start() 启动失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43846929/

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