Computer vorlesen lassen mit dem MS Agent

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von IcEMaN, 2. Februar 2005 .

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 2. Februar 2005
    Hi, wie oft wollte ich schon mir diverse Dinge am PC vorlesen lassen.... :D

    Also, Dateien herunterladen in genau der Reihenfolge, wie sie von Microsoft aufgelistet wurden - so auch nach und nach installieren.

    Dann beigehen, den rot markierten Text markieren -> kopieren -> auf dem Desktop - rechte Maustaste drücken (Kontextmenü öffnet sich) -> neu > Textdokument -> den kopierten Text nun in die Datei einfügen -> und diese nun als *.vbs speichern, das wars!!!!

    MS Agent

    Wenn Ihr das alles erfolgreich gemacht habt, habe ich hier ein Beispielscript für Euch:

    [Hide]figurname = "Merlin"
    Set figur = Aktiviere(figurname)
    figur.Show

    set args = WScript.Arguments

    if args.Count=0 then
    'keine Datei auf das Skript-Icon gezogen
    figur.Speak "Sie müssen eine Datei auf mein Skript-Icon ziehen, damit ich sie vorlesen kann!"
    figur.Hide
    else
    'welcher Dateityp wurde auf das Icon gezogen?
    'es werden die 4 letzten zeichen ermittelt
    extension = lcase(Right(args(0),4))

    'je nachdem was für eine datei zum vorlesen gewählt wurde,
    'wird die entsprechende aktion gestartet

    if extension = ".txt" or extension = ".log" or extension = "read" then
    ' Datei öffnen, lesen und schliessen
    set fs = CreateObject("Scripting.FileSystemObject")
    set datei = fs.OpenTextFile(args(0))
    text = datei.ReadAll
    datei.close
    'schön zerstören um speicher zu schonen
    set datei = nothing
    'die sprechblaseneigenschaften ändern: 50x15 Zeichen, keine grössenanpassung an text;...
    figur.Balloon.Style = &HF32000D


    elseif extension = ".doc" or extension = ".dok" then
    ' Datei lesen, geht aber nur, wenn M$-Word installiert ist
    set doc = GetObject(args(0))
    doc.Activate
    doc.Application.Selection.WholeStory
    text = doc.Application.Selection.Text
    set doc = Nothing
    'die sprechblaseneigenschaften ändern: 50x15 Zeichen, keine grössenanpassung an text;...
    figur.Balloon.Style = &HF32000D


    elseif extension = "html" or extension = ".htm" or extension = ".asp" then
    ' Datei lesen
    set fs = CreateObject("Scripting.FileSystemObject")
    set datei = fs.OpenTextFile(args(0))
    text = datei.ReadAll
    datei.close
    set datei = nothing
    'die sprechblaseneigenschaften ändern: 50x15 Zeichen, keine grössenanpassung an text;...
    figur.Balloon.Style = &HF32000D


    '###############################################
    'hier werden alle html-tags gegen ein leerzeichen ausgetauscht.
    'es sollen schliesslich nicht die html-tags mit vorgelesen werden

    'instanziieren eines neuen regexp-objektes
    Set objRegAusdr = New RegExp

    'setzen des suchmusters (pattern); was soll ersetzt werden ?
    objRegAusdr.Pattern = "<.*?[^>]>"

    'alle pattern austauschen
    objRegAusdr.Global = True

    'worin soll gesucht werden ?
    strA = text

    'gegen was sollen die gefundenen pattern ausgetauscht werden ?
    strB = " "

    'setzen: gross/kleinschreibung nicht beachten
    objRegAusdr.IgnoreCase = True

    'alle Pattern, die in strA gefunden werden, gegen strB austauschen unnd das gesamte
    'ergebnis in der variablen "text" speichern
    text = objRegAusdr.Replace(strA, strB)
    'msgbox text
    '###############################################


    else
    'wenn die datei keine zuordbare erweiterung hat,
    'dann diesen text aussprechen
    text = "Diese Datei mag ich nicht vorlesen !" & " Lies sie gefälligst selber !"

    end if

    'figur.speak args(0)
    figur.play ("Read")

    '###############################################
    'festlegung der spracheigenschaften:
    'sie soll mit der deutschen frauenstimme sprechen
    'dieses wird über die TTSModeID eingestellt
    'ist die stimme nicht vorhanden, kann diese zeile auskommentiert werden.
    'es wird dann die standardstimme verwendet
    figur.TTSModeID = "{3A1FB760-A92B-11D1-B17B-0020AFED142E}"

    'vol: lautstärke: 1 bis 65535
    'pit: stimmhöhe: 50 bis 400
    'spd: geschwindigkeit: 50 bis 250
    'chr: betonung: leerer eintrag oder Monotone oder Whisper
    'ctx: leseweise leerer eintrag oder email oder adress
    'leere einträge sind immer die standardwerte

    figur.speak "\Vol=655535\\Pit=150\\Spd=200\\Chr=""Monotone""\\Ctx=""""\" & text
    '###############################################

    figur.play("ReadReturn")
    figur.hide
    end if

    'um die figur ausreden zu lassen die sub warten ausführen.
    warte

    Function Aktiviere(figur)
    'den M$_Agenten aktivieren und scharfmachen
    'die agenten werden standardmässig in diesem verzeichnis gespeichert
    Path = "%WINDIR%\MSAGENT\CHARS\" & figur & ".ACS"

    'ein neues agenten-objekt erstellen und mit dem gewünschten agenten bestücken
    Set AgentControl = WScript.CreateObject("Agent.Control.1", "event_")
    If IsObject(AgentControl) Then AgentControl.Connected = True
    Set wshshell = CreateObject("WScript.Shell")
    Path = wshshell.ExpandEnvironmentStrings(Path)
    AgentControl.Characters.Load figur, Path
    Set Aktiviere = AgentControl.Characters(figur)
    End Function

    Sub warte
    'damit der agent ausreden kann, ist diese funktion vonnöten
    Do
    WScript.Sleep 100
    Loop
    End Sub

    Sub event_Hide(id, cause)
    'wird der agent ausgeblendet, wird er normalerweise nur in den systray verbannt
    'und er ist weiterhin aktiv.
    'weil das aber unnütz ist, wird er hiermit gleich komplett beendet.
    WScript.Quit
    End Sub
    [/Hide]

    Diesen Quellcode kopiert Ihr einfach in Textdatei mit dem Text-Editor und benennt sie statt der Endung *.txt als *.vbs um und schon könnt Ihr beliebige Textdateien auf das Icon der Datei ziehen und Merlin liest Euch den Text vor.

    Bei Frage bitte PN an mich!

    Wenn Ihr selber weitere Quelltexte coden wollt, hier ein praktischer Editor! Über eine Veröffentlichung von Euch hier auf dem Board würde ich mich freuen. Download

    Medizin

    Enjoy it!
     

  2. Anzeige
  3. #2 2. Februar 2005
    Nicht schlecht.
    Wollt ich schon immer mal haben.
    MfG KMS
     
  4. #3 2. Februar 2005
    bei mir kommt immer ein error(in zeile 94 klasse nicht definiert)
     
  5. #4 3. Februar 2005
    bei mir auch was machen wir falsch????
     
  6. #5 3. Februar 2005
    hmm, und ihr habt wirklich alles der Reihenfolge nach installiert?


    1. Download the Microsoft Agent core components (395 KB exe)
    2. Download selected language component (German)
    3. Download selected character (Merlin, Peedy und Konsorten)
    4. Download selected engine (German)
    5. Download the Microsoft SAPI 4.0a runtime binaries (824 KB exe)
    6. Download the Microsoft® Speech Recognition Engine (6 MB exe)
    7. Download the Speech Control Panel (927 KB exe)

    Bei letzteren müsste noch ne Einstellung vorgenommen werden, vielleicht habt Ihr das vergessen!? :D (meine Schuld, hehe)

    Da müsst Ihr glaub ich noch das Language-Pack auswählen!
     
  7. #6 5. Februar 2005
    Also ich hatte mal n proggy gecoded, da musste man nur die "text-to-speech" engine von microsoft haben und schon konnte man sich texte vorlesen lassen :)

    das dumme is nur.. vorgelesen hören sich die texte extrems mies an.. also ich muss sagen ich bleib bei lesen :p
     
  8. #7 14. Februar 2005
    danke
     
  9. #8 14. Februar 2005
    alternativ könnt ihr auch LogoX nehmen um euch irgendwelche Texte vorlesesen zu lassen.
    Leider habe ich das Prog nich auf dem Rechner sonst hätt ich euch geuppt.

    greetz
    N3TX
     

  10. Videos zum Thema
Die Seite wird geladen...
Similar Threads - Computer vorlesen lassen
  1. Antworten:
    5
    Aufrufe:
    4.824
  2. 33. Chaos Computer Club Kongress 33C3

    Michi , 28. Dezember 2016 , im Forum: Netzwelt
    Antworten:
    5
    Aufrufe:
    2.711
  3. Antworten:
    14
    Aufrufe:
    1.581
  4. Antworten:
    3
    Aufrufe:
    2.253
  5. Antworten:
    5
    Aufrufe:
    1.146