|
131
|
Programación / .NET (C#, VB.NET, ASP) / Foreach en SpeechRecognizer
|
en: 10 Febrero 2018, 11:52 am
|
utilizo el SpeechRecognitionEngine con el la propiedad de "SetInputToDefaultAudioDevice" necesito que me ayuden a realizar una busqueda de los microfonos activos por medio de un foreach aqui muestro dos metodos con los que me resulta la obtencion de los dispositivos pero ninguno resulta al yo seleccionar el microfono no me lo cambia, algo falta pero no se que es, segun es recargar el SetInputToDefaultAudioDevice luego de un Disposed pero no se como hacerlo. private void CargaMicro() { ManagementObjectSearcher mo = new ManagementObjectSearcher("select * from Win32_SoundDevice");
foreach (ManagementObject soundDevice in mo.Get()) { //Console.WriteLine(soundDevice.GetPropertyValue("DeviceId")); //Console.WriteLine(soundDevice.GetPropertyValue("Manufacturer")); mic.Items.Add(soundDevice.GetPropertyValue("Name")); } //MMDeviceEnumerator names = new MMDeviceEnumerator(); //var devices = names.EnumerateAudioEndPoints(DataFlow.Capture, DeviceState.Active); //foreach (var device in devices) //{ // mic.Items.Add(device.FriendlyName); //} } ya que por defecto me toma el microfono predeterminado, espero puedan ayudarme, estoy usando estos codigos ambos me dan en el combobox la lista de los dispositivoos de captura de sonido, pero no encuentro la forma que al yo seleccionarlo funcionen antes de eso cargo este metodo private void ActivarEscucha() { escucha.SetInputToDefaultAudioDevice(); escucha.RecognizeAsync(RecognizeMode.Multiple); escucha.SpeechRecognized += Escucha_SpeechRecognized; escucha.AudioLevelUpdated += Escucha_AudioLevelUpdated; }
|
|
|
134
|
Programación / .NET (C#, VB.NET, ASP) / Problema con PromptBuilder
|
en: 3 Febrero 2018, 23:21 pm
|
Eh creado este codigo con la finalidad de poder copiar todo lo que hable en un cuadro de texto, pero quiero que se pueda hacer fuera del cuadro de texto. Aqui el codigo que implemente using System.Windows; using System.Speech.Synthesis; using System.Speech.Recognition; namespace Test { public partial class MainWindow : Window { PromptBuilder dictado = new PromptBuilder (); SpeechSynthesizer habla = new SpeechSynthesizer (); SpeechRecognitionEngine escucha = new SpeechRecognitionEngine (); string speech; public MainWindow() { InitializeComponent(); ActivarEscucha(); } private void ActivarEscucha() { escucha.SetInputToDefaultAudioDevice(); escucha .LoadGrammar(new DictationGrammar ()); escucha.RecognizeAsync(RecognizeMode.Multiple); escucha.SpeechRecognized += Escucha_SpeechRecognized; habla.SpeakAsync("Esperando Dictado"); } private void Escucha_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { speech = e.Result.Text; // dictado.AppendText(speech); textbox.AppendText(speech); <-- si yo coloco esta linea, me escribe lo que hable en el textbox, yo necesito es que lo escriba fuera del textbox } } }
Espero puedan ayudarme a solventar este problema , gracias.
|
|
|
135
|
Programación / .NET (C#, VB.NET, ASP) / Ayuda con Nuget Descarga Video
|
en: 31 Enero 2018, 01:02 am
|
Hola nuevamente , estoy usando un codigo capaz de bajar videos de youtube y funciona de manera espectacular mi problema es que no se como direccionar el archivo descargado a una carpeta que yo le asigne. Tyrrrz/YoutubeExplode Es ese el codigo que uso, y tome de prueba el codigo que tiene de ejemplo llamado "ConsoleDemo" este se utiliza pegando la direccion del video de youtube pero lo crea en el mismo directorio raiz, si alguien lo ha usado que me pueda ayudar le estare muy agradecido. Aqui el codigo que plantea using System; using System.IO; using System.Threading.Tasks; using Tyrrrz.Extensions; using YoutubeExplode; using YoutubeExplode.Models.MediaStreams; namespace DemoConsole { public static class Program { /// <summary> /// If given a YouTube URL, parses video id from it. /// Otherwise returns the same string. /// </summary> private static string NormalizeId(string input) { if (!YoutubeClient.TryParseVideoId(input, out var id)) id = input; return id; } /// <summary> /// Turns file size in bytes into human-readable string /// </summary> private static string NormalizeFileSize(long fileSize) { string[] units = { "B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" }; double size = fileSize; var unit = 0; while (size >= 1024) { size /= 1024; ++unit; } return $"{size:0.#} {units[unit]}"; } private static async Task MainAsync() { // Client var client = new YoutubeClient (); // Get the video ID Console.Write("YouTube URL: "); var id = Console.ReadLine(); id = NormalizeId(id); // Get the video info Console.WriteLine("Cargando..."); var video = await client.GetVideoAsync(id); Console.WriteLine('-'.Repeat(100)); // Print metadata Console.WriteLine($"Id: {video.Id} | Title: {video.Title} | Author: {video.Author}"); // Get media stream info set var streamInfoSet = await client.GetVideoMediaStreamInfosAsync(id); // Get the most preferable stream Console.WriteLine("Buscando la mejor calidad de video..."); var streamInfo = streamInfoSet.Muxed.WithHighestVideoQuality(); var normalizedFileSize = NormalizeFileSize(streamInfo.Size); Console.WriteLine($"Quality: {streamInfo.VideoQualityLabel} | Container: {streamInfo.Container} | Size: {normalizedFileSize}"); // Compose file name, based on metadata var fileExtension = streamInfo.Container.GetFileExtension(); var fileName = $"{video.Title}.{fileExtension}"; // Replace illegal characters in file name fileName = fileName.Replace(Path.GetInvalidFileNameChars(), '_'); // Download video Console.WriteLine($"Descargando [{fileName}]..."); Console.WriteLine('-'.Repeat(100)); var progress = new Progress <double>(p => Console .Title = $ "Gestor de Descarga YouTube [{p:P0}]"); await client.DownloadMediaStreamAsync(streamInfo, fileName, progress); Console.WriteLine("Descarga completa!"); Console.ReadKey(); } public static void Main(string[] args) { // This demo prompts for video ID, gets video info and downloads one media stream // It's intended to be very simple and straight to the point // For a more complicated example - check out the WPF demo Console.Title = "Gestor de Descarga YouTube"; // Main method in consoles cannot be asynchronous so we run everything synchronously MainAsync().GetAwaiter().GetResult(); } } }
|
|
|
137
|
Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda con Nuget Descarga Mp3
|
en: 30 Enero 2018, 11:21 am
|
mira elektro me da el mismo error, creia que era una falla mia, no nunca me ha funcionado solamente lo vi y me parecio interesanta crear un programa para bajar el mp3 de los videos de youtube, voy a revisar la libreria que me recomiendas, aunque en lo personal youtube como que ha tomado sus precauciones para evitar estas descargas con el cuento de copyright y demas. Gracias nuevamente, hay una libreria que si funciona a la perfeccion y creo es la version mas actualizada de este y se llama, Tyrrrz/YoutubeExplode
este si lo eh probado (su ejemplo ya compilado) y funciona solo que no me eh metido con el.
REEDITO: si sirve lo acabod e hacer funcionar , es necesario copiar tambies las dll donde estan los exes, ahora debo asignar la ruta de salida por que como dices tu lo pone en la misma carpeta , creando una nueva llamada OUTPUT y no encuentro donde cambiar eso, gracias nuevamente por ese dato
|
|
|
139
|
Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda con Nuget Descarga Mp3
|
en: 30 Enero 2018, 00:31 am
|
gracias electro por ese ejemplo , pero no me queda claro como usarlo o implementarlo, fijate este es uno de las opciones que da y me interesa (por que es la que mas puedo entender) n YoutubeMusicDownloader.exe "https://www.youtube.com/watch?v=I7RHr4o7t7E" y cuando bajo elk proyecto no sale por ningun lado ningun exe , a menos... que sea por que no lo eh compilado voy a probar y les cuento y de no ser asi les avisare.
|
|
|
140
|
Programación / .NET (C#, VB.NET, ASP) / Ayuda con Nuget Descarga Mp3
|
en: 29 Enero 2018, 14:03 pm
|
Buenas tengo un problema simple y complicado, y es que quiero implementar este nuget Tyrrrz/YoutubeMusicDownloader y no se como usarlo, sirve para descargar el mp3 del video, la documentacion no la entiendo si hay alguien que ya lo alla usado y me pueda ayudar seria perfecto es, colocar el codigo en un boton y al colocar la direccion en un textbox, ejecute la accion de descargar y convertir el video a mp3 en una direccion especifica donde se guardara , gracias de antemano o que si me peuden explcar de como iniciar a usarlo de forma clara tambien seria gran ayuda.
|
|
|
|
|
|
|