Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7f7db100af | |||
| d646e9d58e |
@@ -79,8 +79,8 @@ android {
|
|||||||
applicationId "com.ariacockpit"
|
applicationId "com.ariacockpit"
|
||||||
minSdkVersion rootProject.ext.minSdkVersion
|
minSdkVersion rootProject.ext.minSdkVersion
|
||||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||||
versionCode 803
|
versionCode 804
|
||||||
versionName "0.0.8.3"
|
versionName "0.0.8.4"
|
||||||
// Fallback fuer Libraries mit Product Flavors
|
// Fallback fuer Libraries mit Product Flavors
|
||||||
missingDimensionStrategy 'react-native-camera', 'general'
|
missingDimensionStrategy 'react-native-camera', 'general'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "aria-cockpit",
|
"name": "aria-cockpit",
|
||||||
"version": "0.0.8.3",
|
"version": "0.0.8.4",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"android": "react-native run-android",
|
"android": "react-native run-android",
|
||||||
|
|||||||
@@ -495,6 +495,13 @@ const ChatScreen: React.FC = () => {
|
|||||||
const activity = (message.payload.activity as string) || 'idle';
|
const activity = (message.payload.activity as string) || 'idle';
|
||||||
const tool = (message.payload.tool as string) || '';
|
const tool = (message.payload.tool as string) || '';
|
||||||
setAgentActivity({ activity, tool });
|
setAgentActivity({ activity, tool });
|
||||||
|
// Solange ARIA arbeitet (thinking/tool/responding) den Conversation-
|
||||||
|
// Focus halten — sonst spielt Spotify in der ~20s-Verarbeitungspause
|
||||||
|
// zwischen User-Aufnahme-Ende und TTS-Start wieder. Bei 'idle' wird
|
||||||
|
// der Focus nur dann released wenn auch kein TTS mehr aktiv ist.
|
||||||
|
if (activity !== 'idle') {
|
||||||
|
audioService.acquireConversationFocus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Voice-Config aus Diagnostic — setzt die lokale App-Stimme auf den
|
// Voice-Config aus Diagnostic — setzt die lokale App-Stimme auf den
|
||||||
@@ -658,6 +665,10 @@ const ChatScreen: React.FC = () => {
|
|||||||
});
|
});
|
||||||
const unsubTtsEnd = audioService.onPlaybackFinished(() => {
|
const unsubTtsEnd = audioService.onPlaybackFinished(() => {
|
||||||
releaseBackgroundAudio('tts').catch(() => {});
|
releaseBackgroundAudio('tts').catch(() => {});
|
||||||
|
// ARIAs Antwort komplett vorgelesen → Conversation-Focus freigeben damit
|
||||||
|
// Spotify wieder darf. Vorher (waehrend agentActivity != idle) hat das
|
||||||
|
// acquireConversationFocus den Focus durchgehend gehalten.
|
||||||
|
audioService.releaseConversationFocus();
|
||||||
// Vor naechster Aufnahme: barge-listening aus damit der AudioRecorder
|
// Vor naechster Aufnahme: barge-listening aus damit der AudioRecorder
|
||||||
// das Mikro greifen kann.
|
// das Mikro greifen kann.
|
||||||
wakeWordService.stopBargeListening().catch(() => {});
|
wakeWordService.stopBargeListening().catch(() => {});
|
||||||
@@ -807,6 +818,9 @@ const ChatScreen: React.FC = () => {
|
|||||||
const cancelRequest = useCallback(() => {
|
const cancelRequest = useCallback(() => {
|
||||||
setAgentActivity({ activity: 'idle', tool: '' });
|
setAgentActivity({ activity: 'idle', tool: '' });
|
||||||
rvs.send('cancel_request' as any, {});
|
rvs.send('cancel_request' as any, {});
|
||||||
|
// Conversation-Focus freigeben — es kommt keine TTS-Antwort mehr,
|
||||||
|
// sonst bliebe Spotify ewig pausiert.
|
||||||
|
audioService.releaseConversationFocus();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
// Barge-In: wenn der User waehrend ARIA arbeitet/spricht eine neue Sprach-
|
// Barge-In: wenn der User waehrend ARIA arbeitet/spricht eine neue Sprach-
|
||||||
|
|||||||
Reference in New Issue
Block a user