Hola amigos tengo un problema y es que tengo este código pero me manda un error
Set speech=CreateObject("sapi.spvoice")
speech.Speak "Hola foro soy flamer"
me dice origen null y error no especifico, linea 2 carácter 1
saludos Flamer
nota: me quivo que de subforo algun moderador que lo mueva a script
speech es una variable, debes declararla, no se mucho de Visual Basic pero intenta con:
Dim speech
Set speech=CreateObject("sapi.spvoice")
speech.Speak "Hola foro soy flamer"
O guardar lo que quieres decir en otra variable:
Dim speaks, speech
speaks = "Texto a decir"
Set speech = CreateObject("sapi.spvoice")
speech.Speak speaks
sigue igual parece ser mi ordenador por que ni el textaloud y el balabolka funcionan no dan señales de vos
saludos flamer
también pódes probar esto:
set speech = Wscript.CreateObject("SAPI.spVoice")
speech.speak "hola flamer"
Según la documentación de la MSDN no estás haciendo nada de forma incorrecta:
http://msdn.microsoft.com/en-us/library/ms720592%28v=vs.85%29.aspx
Cita de: Flamer en 27 Octubre 2015, 02:44 AMsigue igual parece ser mi ordenador por que ni el textaloud y el balabolka funcionan no dan señales de vos
pero ...¿estás seguro de tener las voces SAPI instaladas en tu equipo?. o dicho de otra forma, ¿estás utilizando un Windows modificado?, me refiero al típico "
Windows edition taringa por calamar69" que podría tener características capadas, como por ejemplo las functiones TTS/SAPI de Microsoft.
Prueba de la siguiente manera:
Set speech = Wscript.CreateObject("SAPI.SpVoice")
If (speech Is Nothing) Then
Call WScript.Echo("Fallo al intentar cargar el objeto COM")
Else
Set speech.Voice = speech.GetVoices.Item(0) ' La voz de "SAM".
Call speech.Speak(speech.Voice.GetDescription)
While Not speech.WaitUntilDone(0)
WScript.Sleep 100
Wend
End If
Saludos
Aqui el error en video
[youtube=640,360]
https://www.youtube.com/watch?v=n0TTJvkBK8k
[/youtube]
Cita de: Flamer en 27 Octubre 2015, 04:26 AMAqui el error en video
Nadie ha insinuado que mientas... aparte, tanto el código de @Tincopasan como el de @_TTFH_3500 como el tuyo y el mio, los cuatro son y hacen exactamente lo mismo que publicaste en tu código, solo que el orden de las cosas cambia.
Repito, Flamer, ¿estás seguro de que tienes las voces SAPI instaladas?, ¿estás usando un Windows modificado?, y, ¿has probado el script que te mostré?.
No lo pregunto por pensar que mientas, lo pregunto por que es un dato importante, puede ser la causa del problema. Y es que el error dice claramente "
null".
Abre una instancia de la CMD y ejecuta el comando SFC para buscar fallos en el sistema de archivos de Windows y corregirlos:
SFC /ScanNow
Saludos!
Hola aqui el resultado del comando
Microsoft Windows [Versión 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Reservados todos los derechos.
C:\Windows\system32>sfc /scannow
Iniciando examen en el sistema. Este proceso tardará algún tiempo.
Iniciando la fase de comprobación del examen del sistema.
Se completó la comprobación de 100%.
Protección de recursos de Windows encontró archivos dañados y no consiguió
reparar algunos de ellos. Para obtener más detalles, consulte CBS.Log
windir\Logs\CBS\CBS.log. Por ejemplo, C:\Windows\Logs\CBS\CBS.log.
C:\Windows\system32>C:\Windows\Logs\CBS\CBS.log
Acceso denegado.
C:\Windows\system32>
con respecto a lo que dices que si tengo la SAPI pues no se la verdad pero yo tenia el textaloud y el balabolka ase meses atrás cuando hice mis primeros vídeos y si funcionaba pero los des-instale y ahora no agarra
boy a instalar la SAPI aver que
saludos
Hola acabo de instalar la SAPI 5.1 y siguio igual
la de este link: http://www.microsoft.com/en-us/download/details.aspx?id=10121 (http://www.microsoft.com/en-us/download/details.aspx?id=10121)
alguna solucion
es muy dificil así saber donde está el error. se me ocurre que puede ser también una cuestión de permisos (probá ejecutando en modo administrador).
si tenés xp probá el mismo script en win8
y se que es parte de tí, pero tu ortografía es tan mala que desalienta a seguir leyendo, sería muy bueno para tí que mejores aunque sea de a poco. Sin ánimos de ofenderte!
Saludos.
es windows 7
no te preocupes sobre mi ortografia no me ofendo, aun que no creas lo estoy intentando
saludos flamer y boy a intentar modo administrador
Al parecer todos coincidimos en que es un problema del equipo, personálmente debido a la ausencia de las librerías COM relacionadas.
Sin embargo, y para salir de dudas, te sugiero que pruebes en otro lenguaje como VB.Net o C# para comprobar si obtienes los mismos resultados, para obtener al menos un mensaje de error que sea más informativo.
VB.Net:
Imports System.Speech.Synthesis
Dim speech As New SpeechSynthesizer
Try
speech.Speak(speech.Voice.Description)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
C#:
using System.Speech.Synthesis;
SpeechSynthesizer speech = new SpeechSynthesizer();
try {
speech.Speak(speech.Voice.Description);
} catch (Exception ex) {
MessageBox.Show(ex.Message);
}
Saludos
No creo que sea nesesario en NET, como dije anteriormente el textaloud y balabolka no funciona ninguna voz.
Dos o tres veces te he preguntado si usas un windows modificado, pregunta la cual todavía no has respondido.
Textaloud, el otro programa y VisualBasicScript no te informan del error, sin embargo, en .Net obtendrias, al menos, mejor información sobre la causa del problema.
Si no quieres dejarte ayudar entonces no se por que formulas una pregunta. Ya no gastaré más "saliba".
Saludos.
tiene razón Elektro de capturar de alguna forma el error, sobre todo porque originalmente lo declara como desconocido, ahora bien, también pódes tratar con el propio vbs:
On Error Resume Next
set speech = Wscript.CreateObject("SAPI.spVoice")
speech.speak "hola Flamer"
If Err.Number <> 0 Then
WScript.Echo Err.Number & " Origen " & Err.Source & " Descripcion: " & Err.Description
Err.Clear
End If'
No se si mi windows es modificado no lo instale yo, seré bueno para algunas cosas pero para otras no, no crean que se mucho de computadoras
y por otro lado no tengo el NET lo tendría que instalar por que no lo tengo
salida del script de tinco
(http://thumbs.subefotos.com/bce959a8ddb2a6716bbb77d50c3aeec4o.jpg)
salu2 flamer y perdón Elecktro
ese error no tiene nada que ver con sapi, tu windows tiene algo mal, desinstalaste o borraste algo o como te dijeron es una versión personalizada de win y le faltan funciones!
orale ahora el problema es que le falta o que borre
saludos y pues así lo voy a dejar gracias a los 2
jajajajaa gracias a tincopasan y a Elecktro por querer ayudarme
ya solucione el problema era sencillo solo era cargar la dll
primero descargarla del registro así:
regsvr32 /u sapi.dll
y despues cargarla así:
regsvr32 /i sapi.dll
Saludos Flamer y gracias de todos modos
Entonces por lo que comentas habia algún conflicto en el registro de Windows en lo respecto a las entradas del registro relacionadas con interfaces COM de SAPI, y volviendo a registrarlas fue suficiente para solucionarlo.
Me alegro, aunque ahora el misterio es la causa a la que se debió ese conflicto.
Te mencionaré algunas posibles causas para que tengas precaución por si algo parecido te volviese a suceder en el futuro:
- La utilización de aplicaciones limpiadoras del registro (excepto CCLEANER, que es muy poco severo en ese sentido)
- La utilización de algún administrador de tareas o visor de objetos COM donde deshabilitaste SAPI, sin querer.
PD: Perdona el mosqueo.
Saludos