小度创维机顶盒使用百度语音SDK
EC_VI 发布于2019-07 浏览:2029 回复:5
0
收藏

开始识别后直接退出了

E/AudioRecord: start() status -38
2019-07-09 11:35:55.972 7728-7728/com.ec.dinosaur.myrecord D/MainActivity: [ (MainActivity.java:770)#onEvent ] Event --> CALLBACK_EVENT_ASR_READY
2019-07-09 11:35:55.982 7728-8541/com.ec.dinosaur.myrecord I/[BDASR_LOG] MicrophoneServer: finally, mRemoteOutputStreams size = 1 firstStart = true
2019-07-09 11:35:55.987 7728-8528/com.ec.dinosaur.myrecord V/ASREngine: ASRCallBack :8
2019-07-09 11:35:55.987 7728-8528/com.ec.dinosaur.myrecord E/ASREngine: EVoiceRecognitionClientWorkStatusError errorDomain : 0 errorCode : 3001 desc : Recorder open failed mLastRecognitionResult:

 

收藏
点赞
0
个赞
共5条回复 最后由用户已被禁言回复于2022-04
#6用户已被禁言回复于2019-07
#5 EC_VI回复
44100这个只是用来检测下是否占用的情况,并没有用来录音。请问机顶盒占用了麦克风,但是我这App要mic,要如何让他释放?我没找到让其他App释放的方法。
展开

这个是机顶盒自己的设置

0
#5EC_VI回复于2019-07
#4 用户已被禁言回复
您发的重复帖子帮您删除了,不是与唤醒冲突。 不是权限问题,而是麦克风问题。 android可以用是你安卓的默认设置没有占用麦克风,而机顶盒占用了麦克风资源,你要检查麦克风是否被占用,如果被占用请释放。 另外你机顶盒的默认设置的采样率为 44100是不正确的,也无法识别,请调整至 16000 固定值。
展开

44100这个只是用来检测下是否占用的情况,并没有用来录音。请问机顶盒占用了麦克风,但是我这App要mic,要如何让他释放?我没找到让其他App释放的方法。

0
#4用户已被禁言回复于2019-07
#3 EC_VI回复
在Android8.0,9.0设备上运行良好,权限啥的肯定都声明好了。在盒子上有问题。检查麦克风未被占用,检查方法是:https://stackoverflow.com/questions/35633513/how-to-check-whether-microphone-is-used-by-any-background-app private boolean validateMicAvailability(){ Boolean available = true; AudioRecord recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, 44100, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_DEFAULT, 44100); try{ if(recorder.getRecordingState() != AudioRecord.RECORDSTATE_STOPPED ){ available = false; } recorder.startRecording(); if(recorder.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING){ recorder.stop(); available = false; } recorder.stop(); } finally{ recorder.release(); recorder = null; } return available; } 请问这是啥原因
展开

您发的重复帖子帮您删除了,不是与唤醒冲突。

不是权限问题,而是麦克风问题。

android可以用是你安卓的默认设置没有占用麦克风,而机顶盒占用了麦克风资源,你要检查麦克风是否被占用,如果被占用请释放。

另外你机顶盒的默认设置的采样率为 44100是不正确的,也无法识别,请调整至 16000 固定值。

0
#3EC_VI回复于2019-07
#2 用户已被禁言回复
您好,根据您的反馈可以看到错误为:3001,录音机打开失败。出现原因可能为:未声明录音权限,或 被安全软件限制,或 录音设备被占用,需要开发者检测权限声明。 请检查麦克风权限或资源等问题
展开

在Android8.0,9.0设备上运行良好,权限啥的肯定都声明好了。在盒子上有问题。检查麦克风未被占用,检查方法是:https://stackoverflow.com/questions/35633513/how-to-check-whether-microphone-is-used-by-any-background-app

private boolean validateMicAvailability(){
Boolean available = true;
AudioRecord recorder =
new AudioRecord(MediaRecorder.AudioSource.MIC, 44100,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_DEFAULT, 44100);
try{
if(recorder.getRecordingState() != AudioRecord.RECORDSTATE_STOPPED ){
available = false;

}

recorder.startRecording();
if(recorder.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING){
recorder.stop();
available = false;

}
recorder.stop();
} finally{
recorder.release();
recorder = null;
}

return available;
}

请问这是啥原因

0
#2用户已被禁言回复于2019-07

您好,根据您的反馈可以看到错误为:3001,录音机打开失败。出现原因可能为:未声明录音权限,或 被安全软件限制,或 录音设备被占用,需要开发者检测权限声明。

请检查麦克风权限或资源等问题

0
TOP
切换版块