godotengine / godotengine/godot
On Android, services-speech-sdk SPXERR_AUDIO_SYS_LIBRARY_NOT_FOUND
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
godot4 dev6 c#
### System information
android 11 api 30
### Issue description
On Android, I have already granted the recording permission. When I use the cognitive-services-speech-sdk for recording, I encounter the error code: 0x38 (SPXERR_AUDIO_SYS_LIBRARY_NOT_FOUND). How can I resolve this issue? Is speechsdk not supported, or is there another reason?
### Steps to reproduce
SPXERR_AUDIO_SYS_LIBRARY_NOT_FOUND
### Minimal reproduction project (MRP)
```csharp
public async Task FromMic(SpeechConfig speechConfig)
{
var pronunciationAssessmentConfig = new PronunciationAssessmentConfig(
referenceText: "I am tom.",
gradingSystem: GradingSystem.HundredMark,
granularity: Granularity.Word,
enableMiscue: true);
pronunciationAssessmentConfig.PhonemeAlphabet = "IPA";
pronunciationAssessmentConfig.NBestPhonemeCount = 5;
speechConfig.SetProperty(PropertyId.Speech_SegmentationSilenceTimeoutMs,3000.ToString());
using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
using (var speechRecognizer = new SpeechRecognizer(
speechConfig,
audioConfig))
{
pronunciationAssessmentConfig.ApplyTo(speechRecognizer);
var speechRecognitionResult = await speechRecognizer.RecognizeOnceAsync();
// The pronunciation assessment result as a Speech SDK object
var pronunciationAssessmentResult =
PronunciationAssessmentResult.FromResult(speechRecognitionResult);
// The pronunciation assessment result as a JSON string
var pronunciationAssessmentResultJson = speechRecognitionResult.Properties.GetProperty(PropertyId.SpeechServiceResponse_JsonResult);
return pronunciationAssessmentResult;
}
}
```
Contributor guide
Research direction
Start with the FromMic reproduction and AudioConfig.FromDefaultMicrophoneInput() on Android 11/API 30; verify whether the speech SDK's default microphone path is supported in this Godot/C# setup and capture the native error context. Done means a confirmed support diagnosis and a documented resolution or reproduction boundary.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, csharp
- Domain
- audio-video-rtc, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100