Buenas tardes a todos. Tengo un pequeño problema y capas puedan ayudarme.
Primero que nada, les comento que no se casi nada .NET
,
pero debo realizar esta aplicación, en esta (para mi nueva) plataforma.
La idea es esta;
Tengo un pequeño código que al pasarle un texto, y un tipo de voz,
genera un archivo con extensión .WAV, de esa voz, diciendo ese texto.
Lo que tengo que hacer que ese texto sea leído por dos voces distintas.
O sea pasando dos voces, una parte la lea una voz, y otra parte, la lea otra voz.
Pero todo en el mismo archivo .WAV.
El código en términos generales, por lo que entiendo,
genera un archivo físico (SpFileStream), y luego le incluye el sonido (speech)
Podría:
1 - Crear 2 archivos .WAV (no tengo complicación) y unirlos. ¿Pero, como puedo unirlos?
2 - Antes de guardar 2 sonidos (speech), concatenarlos, y guardarlos en el archivo.
¿Pero como los concateno o como unir las variables con sonido?
Bueno, si alguien tiene alguna idea, se lo agradecería! Saludos!
El codigo es este:
Código:
public void TextToWav(string inputText, string filePath, string voiceIdString)
{
try
{
SpeechVoiceSpeakFlags SpFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpVoice speech = new SpVoice();
SpeechStreamFileMode SpFileMode = SpeechStreamFileMode.SSFMCreateForWrite;
SpFileStream SpFileStream = new SpFileStream();
SpFileStream.Format.Type = mAudioFormatType;
if( ! filePath.ToLower().EndsWith(".wav"))filePath += ".wav";
//Creo archivo fisico
SpFileStream.Open(filePath, SpFileMode, false);
//Inserto speech que es la voz, en el archivo
speech.AudioOutputStream = SpFileStream;
speech.Speak(inputText, SpFlags);
speech.WaitUntilDone(Timeout.Infinite);
SpFileStream.Close();
}
catch
{
throw;
}
}