Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Programar Un Componente Biblioteca De Sonidos!!!
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Programar Un Componente Biblioteca De Sonidos!!! 
 
buenas...

ando con ideas locas... jajaj quiero hacer mucho con poco conocimiento

quiero crear una clase que administre sonidos,

clase sonido: propiedades: ruta as string, silencio as boolean, nombre tipo string

clase bibliotecasonido  : métodos, add o crear, eliminar, find, escuchar, modificar

que tul hee??

he probado algunas cosas pero hasta ahora me he enrredado en el planteo

con este quiero tener el control de si se pueden escuchar todos los sonidos o no, o personalizar que sonido escuchar y cual no, con la propiedad silencio.

saludos.
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Programar Un Componente Biblioteca De Sonidos!!! 
 
en _new se crearia un archivo settings

en el metodo add o agregar sonido  se guardar los datos del sonido en settings

[nombresonido]
Nombre=nombre sonido
Ruta= ruta sonido
Silencio= estado si se puede escuchar o no true o false



método Load o cargar en la clase principal
al cargar la aplicación se lee el archivo settings y se crean los sonidos prontos para escuchar modificar o eliminar
y cargaría los sonidos creados con los datos de settings en un array de clases sonido
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Programar Un Componente Biblioteca De Sonidos!!! 
 
estoy experimentando con esto al parecer anda, aunque hay que pulirlo muchísimo todavía, es un croquis aun jajajaja


comenten capos ajjajajaj


' gambas class file

Export

Property Sonidos As String[]
Property RutaRegistro As String
Property Read ListaSonidos As String[]



Public Const SI As String = "SI"
Public Const NO As String = "NO"

Private Const SEPARADOR As String = ":"

Private $Sonidos As String[]
Private $RutaRegistro As String
Private $ListaSonidos As String[]






Public Sub _new(ruta As String, nombre As String)
  Dim RutaCompleta As String
  
  RutaCompleta = ruta &/ nombre & ".bs"
  
  If Exist(RutaCompleta) = False Then
     File.Save(RutaCompleta, "# Biblioteca de sonidos creada: " & Now & gb.NewLine)
  Endif
 
  $RutaRegistro = RutaCompleta
  
End

Public Sub Escuchar(nombre As String, Optional forzar As Boolean)
  
  Dim Archivo As File
  Dim Parrafo As String
  Dim XNombre As String
  Dim Separado As String[]
  
  Dim XSonido As Sound
  Dim Escuchar As Boolean
  
  Archivo = Open $RutaRegistro For Read
  
  
  While Not Eof(Archivo)
    
    Separado = New String[]
    
    Line Input #Archivo, Parrafo
  
    If Left(Parrafo, 1) = "#" Then Continue    
  
    Separado = Split(Parrafo, SEPARADOR)
    
    If Separado[0] = nombre Then
      Escuchar = True
      Break  
    Else
      Escuchar = False
    Endif
    
  Wend
  
  If Escuchar Then
    XSonido = Sound.Load(Separado[1])
    XSonido.Play
  Endif
  
  Archivo.Close
  
  
End


Public Sub AgregarSonido(nombre As String, ruta As String, escuchar As String) As Boolean
  Dim XSonido As String
  Dim Archivo As File
  
  If TipoSonidoOK(ruta) = False Then Return
  
  If SonidoExiste(nombre) Then
    Message.Warning("El nombre: " & nombre & " ya existe")
    Return True
  Endif
  
  
  XSonido = nombre & SEPARADOR & ruta & SEPARADOR & escuchar
  Print XSonido


 Archivo = Open $RutaRegistro For Write Append

 Print #Archivo, XSonido

 Archivo.Close
 
 
End



Private Function TipoSonidoOK(ruta As String) As Boolean
  Dim XSonido As Sound
  Dim TipoPermitido As Boolean
  
   Print File.Ext(ruta)
  
   Select Case File.Ext(ruta)
     Case "ogg"
       TipoPermitido = True
      Case "wav"
        TipoPermitido = True
   End Select
  
  If TipoPermitido = False Then
    Message.Error("Tipo de archivo no admitido")
   Return False
  Else
    Return True
  Endif
  
  
End

Private Function NombresSonidos() As String[]
   Dim Archivo As File
  Dim Parrafo As String
  Dim XNombre As String
  Dim Separado As String[]
  Dim Lista As New String[]
  
  
  Archivo = Open $RutaRegistro For Read
  
  
  While Not Eof(Archivo)
    
    Separado = New String[]
    
    Line Input #Archivo, Parrafo
  
    If Left(Parrafo, 1) = "#" Then Continue    
  
    Separado = Split(Parrafo, SEPARADOR)
    
    Lista.Add(Separado[0])
    
  Wend
  
  Archivo.Close
  
  Return Lista  
  
End


Private Function SonidoExiste(nombre As String) As Boolean
  Dim Archivo As File
  Dim Parrafo As String
  Dim XNombre As String
  Dim Separado As String[]
  
  Archivo = Open $RutaRegistro For Read
  
  
  While Not Eof(Archivo)
    
    Separado = New String[]
    
    Line Input #Archivo, Parrafo
  
    If Left(Parrafo, 1) = "#" Then Continue    
  
    Separado = Split(Parrafo, SEPARADOR)
    
    If Separado[0] = nombre Then
      Return True
      Break  
    Endif
    
  Wend
  
  
  Archivo.Close
  
End




Private Function Sonidos_Read() As String[]
  Return $Sonidos
End

Private Sub Sonidos_Write(Value As String[])
  $Sonidos = Value
End

Private Function RutaRegistro_Read() As String
  Return $RutaRegistro
End

Private Sub RutaRegistro_Write(Value As String)
  $RutaRegistro = Value
End

Private Function ListaSonidos_Read() As String[]
  $ListaSonidos = NombresSonidos()
  Return $ListaSonidos
End

 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Varios Sonidos Simultáneos Con Gb.sdl.sound 4octavio4 General 3 Martes, 12 Enero 2010, 13:56 Ver último mensaje
4octavio4
No hay nuevos mensajes Ejemplo Con Animales Y Sonidos.POO Shell General 4 Jueves, 19 Junio 2014, 09:06 Ver último mensaje
jsbsan
No hay nuevos mensajes Termino. Biblioteca, Librería Shell General 6 Sabado, 06 Abril 2019, 10:29 Ver último mensaje
Shell
No hay nuevos mensajes Componente O Biblioteca ? tincho Aplicaciones/Fragmentos de Código 16 Miercoles, 11 Septiembre 2019, 08:36 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron