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; } }