Programar Un Componente Biblioteca De Sonidos!!!


Objetivo: 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.

Objetivo: 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

Objetivo: 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


Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1813s (PHP: 34% SQL: 66%)
Consultas SQL: 23 - Debug off - GZIP Activado