|
8561
|
Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda con almacenar ruta
|
en: 13 Julio 2013, 18:51 pm
|
Private Sub CheckFolder_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckFolder.CheckedChanged If CheckFolder.Checked = True Then FolderBrowserDialog1.ShowDialog() LabelFolder.Text = FolderBrowserDialog1.SelectedPath() 'Aqui va la ruta de la carpeta que se selecciono Else LabelFolder. Text = Folder 'Si por algun motivo quiero usar nuevamente la carpeta "Screenshots". Pero la elimine por accidente CheckFolder.Checked = False Folder = Path. Combine(Environment. GetFolderPath(Environment. SpecialFolder. Desktop), "Screenshots") If Not Directory. Exists(Folder) Then Directory. CreateDirectory(Folder) End If End If End Sub
El problema es que en ningún caso estás asignando la carpeta seleccionada ( FolderBrowserDialog1.SelectedPath) a la variable Folder, así que la variable Folder siempre es: blablabla.Desktop & "Screenshots"¿Resuelve eso tu duda? Otra cosa (Sin importancia) a tener en cuenta en el código, es esto: CheckFolder.Checked = False
Lo explico con código: If CheckFolder.Checked = True Then bla bla bla Else ' Else, sólo puede haber una condicion contradictoria en un Boolean, y es "False", "CheckFolder.Checked = False" CheckFolder.Checked = False ' Así que esto no hace nada, porque si se procesa esta parte del bloque significa que la propiedad "Checked" ya está en "False". End If
Saludos
|
|
|
8564
|
Programación / .NET (C#, VB.NET, ASP) / Re: Librería de Snippets !! (Posteen aquí sus snippets)
|
en: 13 Julio 2013, 11:41 am
|
Una class para manejar Audios en la librería NAudio. (Es algo corta, lo sé, no he experimentado más cosas que las que necesito de esta librería) #Region " NAudio " Public Class NAudio_Helper ' [ NAudio ] ' ' // By Elektro H@cker ' ' Instructions: ' 1. Add a reference for the "NAudio.dll" file into the project. ' ' Examples: ' ' Dim Stream As NAudio.Wave.WaveFileReader = New NAudio.Wave.WaveFileReader(File) ' ' Set_Volume(Stream, 0.5) ' Play_Sound(Stream, 1) ' Play_Sound(My.Resources.AudioFile) ' Play_Sound("C:\File.wav") ' Play Sound (File) Private Sub Play_Sound (ByVal File As String, _ Optional ByVal Volume As Single = Nothing) Dim Wave As New NAudio.Wave.WaveOut Select Case File. Split("."). Last. ToLower Case "aiff" Wave. Init(New NAudio. Wave. AiffFileReader(File)) Case "mp3" Wave. Init(New NAudio. Wave. Mp3FileReader(File)) Case "wav" Wave. Init(New NAudio. Wave. WaveFileReader(File)) Case Else Wave. Init(New NAudio. Wave. BlockAlignReductionStream(NAudio. Wave. WaveFormatConversionStream. CreatePcmStream(New NAudio. Wave. AudioFileReader(File)))) End Select If Not Volume = Nothing Then Wave.Volume = Volume Wave.Play() End Sub ' Play Sound (MemoryStream) Private Sub Play_Sound(ByVal Stream As IO.MemoryStream, _ Optional ByVal Volume As Single = Nothing) Dim Wave As New NAudio.Wave.WaveOut Wave.Init(New NAudio.Wave.BlockAlignReductionStream(NAudio.Wave.WaveFormatConversionStream.CreatePcmStream(New NAudio.Wave.WaveFileReader(Stream)))) If Not Volume = Nothing Then Wave.Volume = Volume Wave.Play() End Sub ' Play Sound (Unmanaged MemoryStream) Private Sub Play_Sound(ByVal Stream As IO.UnmanagedMemoryStream, _ Optional ByVal Volume As Single = Nothing) Dim Wave As New NAudio.Wave.WaveOut Wave.Init(New NAudio.Wave.BlockAlignReductionStream(NAudio.Wave.WaveFormatConversionStream.CreatePcmStream(New NAudio.Wave.WaveFileReader(Stream)))) If Not Volume = Nothing Then Wave.Volume = Volume Wave.Play() End Sub ' Play Sound (NAudio Stream) Private Sub Play_Sound(ByVal NAudio_Stream As Object, _ Optional ByVal Volume As Single = Nothing) Dim Wave As New NAudio.Wave.WaveOut Wave.Init(NAudio_Stream) If Not Volume = Nothing Then Wave.Volume = Volume Wave.Play() End Sub ' Set Volume (NAudio Stream) Private Function Set_Volume(ByVal NAudio_Stream As Object, ByVal Volume As Single) _ As NAudio.Wave.WaveOut Dim Wave As New NAudio.Wave.WaveOut Wave.Init(NAudio_Stream) Wave.Volume = Volume Return Wave End Function End Class #End Region
|
|
|
8567
|
Programación / Scripting / Re: QPF to Chapter file
|
en: 13 Julio 2013, 08:57 am
|
Set FSO = CreateObject("Scripting.FileSystemObject") For Each File In FSO.GetFolder(".\").Files If LCase(FSO.GetExtensionName(File.Name)) = "qpf" then Wscript.echo(File.Name) end if Next
|
|
|
8568
|
Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] ¿Como modificar el nivel de audio (ganancia) de un archivo wav?
|
en: 13 Julio 2013, 05:46 am
|
Pues eso, si alguien me puede explicar como puedo modificar la ganancia de un Wav... En un form reproduzco un Wav que lo tengo como archivo de Recurso (my.resources.wave), lo que quiero es poder ajustar el nivel de audio de este Recurso para reproducirlo con un nivel más bajo del máximo (1.000f = Máximo). Se supone que con la librería NAudio se puede conseguir esto, pero sólo he llegado hasta aquí: Public wavefile As New NAudio.Wave.WaveFileReader("C:\Archivo.wav")
la class tiene miles de métodos y no son nada claros para mi, no sé como hacerlo. Si alguien conoce otro método para conseguir esto no tiene importancia, no dependo de dicha librería, sólo es que ...es lo único que he encontrado sobre el tema.
Aquí tienen la Lib, por si alguien puede ayudar echándole un vistazo: http://naudio.codeplex.com/PD: Los ejemplos son en C#, hay una "demoApp" que hace exáctamente lo que quiero, pero todo el code es demasiado Pro para mi nivel a la hora de intentar trasladar lo que necesito a VB. Creo que la parte interesante del source de la Demo está aquí: namespace NAudioDemo.AudioPlaybackDemo this.fileWaveStream = plugin.CreateWaveStream(fileName); var waveChannel = new SampleChannel (this.fileWaveStream, true); this.setVolumeDelegate = (vol) => waveChannel.Volume = vol; waveChannel.PreVolumeMeter += OnPreVolumeMeter; var postVolumeMeter = new MeteringSampleProvider (waveChannel ); postVolumeMeter.StreamVolume += OnPostVolumeMeter;
...Obviamente falta mucho más código necesario, pero es que es muy, muy, muy extensa. Saludos
|
|
|
8569
|
Programación / .NET (C#, VB.NET, ASP) / Re: [Pregunta] (C#) ¿Qué significan las variables 'e' y 'sender'?
|
en: 13 Julio 2013, 05:13 am
|
Para añadir algo de información a la respuesta de Novlucker he hecho un ejemplo práctico: EDITO: Justo ahora leí que era para C#, sorry, pero igual te puede servir. Public Class Form1 ' Creamos dos objetos de tipo {Button} con algunas propiedades : Dim WithEvents objeto1 As Button = New Button _ With {.Name = "Boton1", _ .AutoSize = True, _ .Tag = "Botoncito 1", _ .Text = "Soy el botón 1, púlsame!", _ .Font = New Font("Microsoft Sans Serif", 16, FontStyle.Bold), _ .Dock = DockStyle.Top} Dim WithEvents objeto2 As Button = New Button _ With {.Name = "Boton2", _ .AutoSize = True, _ .Tag = "Botoncito 2", _ .Text = "Soy el botón 2, púlsame!", _ .Font = New Font("Microsoft Sans Serif", 16, FontStyle.Bold), _ .Dock = DockStyle.Bottom} Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Asociamos un {evento} de los objetos a un {eventhandler} : AddHandler objeto1.MouseDown, AddressOf objeto_Click AddHandler objeto2.MouseDown, AddressOf objeto_Click ' Añadimos los controles al formulario : Me.Controls.Add(objeto1) : Me.Controls.Add(objeto2) End Sub Private Sub objeto_Click(sender As Object, e As MouseEventArgs) ' Handles objeto1.MouseDown, objeto2.MouseDown ' El objeto que recibe el sender es de tipo {Button}, el sender equivale a uno de nuestros botones : MsgBox(String.Format("Name: {0}Tag: {1}Text: {2}", _ sender.Name & Environment.NewLine, _ sender.tag & Environment.NewLine, _ sender.Text & Environment.NewLine)) ' Pero en algunos casos querremos convertir el sender al tipo de objeto en cuestión, ' por ejemplo en este caso para diferenciar entre un botón y otro : Dim Boton As Button = CType(sender, Button) Select Case Boton.Name Case "Boton1" ' El botón se llama "Boton1" MsgBox("Esto sucede al pulsar el botón: " & Boton.Name) ' Código... Case "Boton2" ' El botón se llama "Boton2" MsgBox("Esto otro sucede al pulsar el botón: " & Boton.Name) ' Más código... End Select ' Una muestra de como manejar {e} para el tipo de evento {MouseEventArgs} : MsgBox("Pulsaste el botón de tu mouse: " & e.Button.ToString) End Sub End Class
Saludos.
|
|
|
8570
|
Programación / Scripting / Re: QPF to Chapter file
|
en: 13 Julio 2013, 04:10 am
|
No me molesta aunque si te fijas esto más bien es un tutorial express, lo del cint, el for y los "tokens", y etc no te habría costado nada encontrarlo en Google xD, de hecho yo estaba usando el Split como si fuese un método porque estoy acostumbrado a eso en el resto d elenguajes, y tuve que Googlear para ver que en VBS Split es una función y por lo tanto se escribe delante.
un saludo.
|
|
|
|
|
|
|