Domanda

Sto creando un estremo e un pò sciocco demo per una presentazione sto dando. Speravo di usare un certo tipo di API per visualizzare più attori e stavo pensando di usare Microsoft Agent. E 'possibile con l'agente di Microsoft per visualizzare 2 o più agenti, allo stesso tempo? L'utilizzo di più thread o processi non è un problema e che in nessun modo deve essere abbastanza.

Per facilitare il lavoro con COM facile Sto usando PowerShell V2 e il mio attuale aspetto del codice simile a questo:

$agent = new-object -com agent.control.2
$agent2 = new-object -com agent.control.2

$agent.connected = 1
$agent2.connected = 1
[void] $agent.characters.load("Merlin")
[void] $agent2.characters.load("Robby")
$merlin = $agent.characters.character("Merlin")
$robby = $agent2.characters.character("Robby")

# Insert silly demo with our actors Merlin and Robby here!

EDIT: Sono in alcun modo venduti sul Microsoft Agent. Se si dispone di un modo migliore di fare la stessa o simile cosa che mi piacerebbe sentire su di esso.

È stato utile?

Soluzione

Alla fine ho usato un singolo agente per il mio demo e ancora ottenuto il punto attraverso. La demo finale è stato un agente di Microsoft e la Speech API .NET recitando una parte di Romeo e Giulietta. Credo che sia possibile ottenere più di uno se si utilizza l'isolamento dei processi, ma allora si avrebbe bisogno di eseguire la sincronizzazione processo.

Altri suggerimenti

Sì, è possibile caricare e visualizzare più caratteri con una singola istanza del controllo MSAgent. Hai già il codice necessario per farlo, semplicemente sbarazzarsi di $agent2 e sostituirlo con $agent.

$agent = new-object -com agent.control.2

$agent.connected = 1
[void] $agent.characters.load("Merlin")
[void] $agent.characters.load("Robby")
$merlin = $agent.characters.character("Merlin")
$robby = $agent.characters.character("Robby")

È possibile avere più personaggi interagiscono tra loro. Microsoft fornisce dimostrazioni di codice per dimostrare che in azione.

Ad esempio:

$merlin = $agent.characters.character("Merlin")
$robby = $agent.characters.character("Robby")
[void] $merlin.Show()
$req = $merlin.Speak("Robby, where are you?")
[void] $robby.Wait($req)
$req = $robby.Show()
[void] $merlin.Wait($req)
$req = $merlin.Speak("Oh, there you are! How are you today?")
[void] $robby.Wait($req)
[void] $robby.Speak("I am good. Thank you for asking")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top