Ich entwickle eine .NET 9 MAUI Mobile App für Android. Diese App enthält eine Seite, auf der ich eine Hybridwebview in meiner XAML-Seite lade: < /p> [code]
< /code> Diese Hybridwebview enthält später eine Azure -Rede zum Avatar -Video mit einem Standard -Azure -Rede -Avatar. Ich rufe das JavaScript auf. Ich muss den Avatar durch diesen Anruf generieren: < /p> var result = await hybridWebView.InvokeJavaScriptAsync("speak", HybridJsContext.Default.DictionaryStringString, [com.Message, Controllers.CurrentLanguage], [HybridJsContext.Default.String, HybridJsContext.Default.String]); < /code> Jetzt in meiner Index.html-Seite Ich verwende diesen HTML-Code: < /p>
[img]your-image-source.png[/img]
< /code> und dieses Skript: < /p> if (typeof SpeechSDK === "undefined") { console.log("INFO FROM INDEX.HTML: ERROR-IN-SCRIPT: Speech SDK is not loaded.", "color: red; font-size: 16px;"); } else { window.speechConfig = SpeechSDK.SpeechConfig.fromSubscription("[SUBSCRIPTIONKEY]", "[REGION]"); window.avatarConfig = new SpeechSDK.AvatarConfig("lisa", "casual-sitting");
window.avatarSynthesizer = new SpeechSDK.AvatarSynthesizer(window.speechConfig, window.avatarConfig);
window.avatarSynthesizer.startAvatarAsync(window.peerConnection).then( () => { console.info("INFO FROM INDEX.HTML: Avatar started successfully.", "color: green; font-size: 14px;"); window.HybridWebView.InvokeDotNet('FinishInitializeAvatar'); // window.speak("Hello, this is a test message from your avatar.", "en"); } ).catch( (error) => { console.error("ERROR FROM INDEX.HTML: ERROR-IN-SCRIPT: Avatar failed to start. Error: " + error, "color: red; font-size: 16px;"); } ); } < /code> und schließlich. Dies ist der Code, den ich aufrufe, um die Rede auszuführen: < /p> window.speak = (textToSpeech, detectedLanguage) => { const audioElement = document.getElementById('audio');
if (videoElement) { videoElement.muted = false; } window.audioElement.muted = false; window.remoteVideoDiv.muted = false; let myMap = new Map([["de", "de-DE"], ["en", "en-GB"], ["fr", "fr-FR"], ["es", "es-ES"], ["pl", "pl-PL"], ["pt", "pt-PT"], ["tr", "tr-TR"], ["nl", "nl-NL"]]); let language = myMap.get(detectedLanguage);
let spokenText = textToSpeech; let spokenSsml = `
${htmlEncode(spokenText)}
`;
return window.avatarSynthesizer.speakSsmlAsync(spokenSsml).then( (result) => { if (result.reason === SpeechSDK.ResultReason.SynthesizingAudioCompleted) { console.log("INFO FROM INDEX.HTML: Speech synthesized successfully with text " + spokenText, "color: green; font-size: 12px;"); return "success"; } return "failed"; }) .catch((error) => { console.log("ERROR FROM INDEX.HTML: ERROR-IN-SCRIPT: Failed to synthesize speech. Error: " + error, "color: red; font-size: 16px;"); //let jsonObject = JSON.stringify("failed"); //return jsonObject; return "failed"; }); } < /code> Dies funktioniert alles gut. Ich kann den Avatar sehen. Ich sehe, dass der Avatar spricht (Lippen bewegt sich usw.). Aber ich höre kein Audio! Ich habe Android-Berechtigungen getestet, die so aussehen: < /p>
< /code> Ich habe Headsets geändert, Geräte geändert, der Android -Emulator sowie reale Geräte (Pixel 8) geändert. > const audioElement = document.getElementById('audio');
Ich kämpfe mit Zertifikaten, wenn ich Hybridwebview in Maui verwende. Um den Fehler zu bewältigen und sicherzustellen, dass der Benutzer damit einverstanden ist. Für das Leben von mir kann ich keinen...
Ich habe zwei .m4s-Dateien, eine nur für Videos (video.m4s):
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\video.m4s':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands:...
Ich habe eine .NET 9.0-Konsolen-App, die ich mit Visual Studio 2022 unter Windows erstelle, und sie verfügt über zwei Startprofile (Win und WSL2):
{
profiles : {
Windows : {
commandName : Project...
Ich lerne ASP.net/c# und ich bin an diesem Problem festgefahren. Ich habe das jetzt seit fast 2 Tagen gesucht und kann immer noch keine Lösung finden. Ich habe einen Blog gefunden, der ein Fix ist,...
fyi an nlog devos:
Ich habe eine VS 2022 ASP.NET -Kernlösung, die unter .NET 8.0 funktioniert. Ich habe das TargetFramework auf net9.0 aktualisiert und alles funktioniert normal. Dann habe ich den...