Ir para conteúdo


Foto

Sistema para Maquina de Musica


9 respostas neste tópico

#1 Glauco Lemos

Glauco Lemos
  • Membros
  • 5 posts

Postado 15 outubro 2011 - 19:12

Boa noite a todos, è um prazer estar novamente neste forum.

Bom galera estou iniciando meus estudos novamente em visual basic 2010 escolhi um sistema muito interessante para estudo que é sistema para maquina de JukeBox. Com muitas duvideas de iniciante vou colocar em detalhes cada uma e um exemplo de um programa abaixo:

Exemplo:


é um programa aparente mente muito simples mais com muitos detalhes.

Bom o programa é baseado em um acervo musical dividido por generos desta forma eu pensei segue abaixo a estrutura de basta do Acervo Musical:



Conforme a imagem acima da para entender como funciona Tem a pasta Acervo Musical ai tem os Generos como Axe, Black etc e dentro de cada pasta de genero tem as pastas com os cd em formatos *.mp3 *.wma *.mpg e por ai vai ate aqui facil.

Agora vem a parte complicada que eu não consegui fazer uma ideia fixa de como fazer


Como posso fazer um carregamente e escaneamento da pasta Acervo
Como posso listar as pasta e musicas como o video de exemplo.
Como trabalhar com teclas do Teclado como exemplo cada tecla tem uma função para se movimentar no programa exemplo A "avança" o B "volta" o S "seleciona a capa" o Q "Fecha a capa Seleciona "o G "Muda de Genero".
Essa aqui esta me estigando ate tive uma ideia. Muitos de você devem conhecer ou já ter visto uma maquina dessa... ela funciona com creditos da seguinte forma se tiver credito você pode selecionar uma musica se não você não faz nada na maquina geralmente cada pulso vale 2 creditos exemplo se colocar R$: 2,00 você estara com quatro creditos sendo assim 4 musicas você pode escolher, ai entraria mais uma letra para fazer esse esquema dos creditos digamos assim o P cada vez que o P for precionado teremos 2 creditos. como armazenar esses creditos e como diminuir esses creditos depois de ter selecionado a musica. Exemplo tenho 4 creditos selecionei 1 musica tenho que ficar com 3 creditos.
Bom esse tem é complicado para mim como criar uma PlayList exemplo vem um cara coloca 40 creditos na maquina e seleciona 40 musicas para ouvir ai pensei assim criar um arquivo.txt para criar esse lista de musicas a ser tocadas cada vez que uma musica acabar e quando começar a tocar a proxima ele deletaria do txt a musica que foi tocada anterior mente para não ter confunsao.

Bom Galera Assim começa meus estudos e gostaria de dicas ajudas Muito obrigado aqueles que tiveram paciencia para ler esse tópico aqui.

#2 Xistyle

Xistyle
  • Membros
  • 356 posts
  • Gender:Male
  • Location:São Paulo

Postado 17 outubro 2011 - 08:21

Glauco, bem vindo ao fórum.

Legal o tema do programa. A maioria das dúvidas nem precisa ser "respondida diretamente". Façamos assim: vou lhe passar alguns links com materiais de estudo e você tenta colocar, do jeito que melhor, na sua aplicação. Se não funcionar, tiver dúvidas sobre o código ou tiver algum outro problema (sei lá, desempenho), ai você coloca um trecho do código pra nós analisarmos a melhor solução juntos smile.gif

PS: aqui no serviço não abre YouTube, então não tenho noção de como você deseja montar o programa, mas vou tentar me orientar pelas suas descrições.

1) O que quer dizer com carregamento/escaneamento? Veja se o link abaixo te ajuda.
2) OpenFileDialog: Nesse link você vai aprender a usar o recurso de escolher pastas/arquivos (não vi o vídeo, mas creio que deva ser algo parecido).
3) KeyDown: o evento KeyDown faz parte da maioria dos controles. No caso, inicialmente, você pode colocar esse evento no seu form principal. Como você vai trabalhar com métodos, você pode chamar os métodos de acordo com as teclas pressionadas, por exemplo:
Shift + Ctrl + C: invoca o método Play
Shift + Ctrl + B: invoca o método ProximaMusica
Shift + Ctrl + P: invoca o método ColocarCreditos

4) Não sei como você vai querer gerenciar esses créditos. Primeiro passo (e mais simples) vai ser montar uma estrutura de controle dos créditos. Ou seja, quando o usuário comprar, você deve armazenar essa informação de quantos créditos foram inseridos para determinado usuário. O problema é que você pode ter n usuários para uma máquina só. Esses usuários terão a mesma quantidade de créditos liberados, caso apenas um dos usuários compre? O interessante é você pesquisar e elaborar como vai montar um esquema único por software, como uma licença por usuário. Com isso, você vai ter seus identificadores únicos por usuário e pode armazenar essas informações de crédito de forma mais segura. Esse item 4 fica a dica de deixar pra depois, pra "arquitetar" com mais calma.
PS: a estrutura de controle ("O usuário comprou 57 créditos e usou 12. Como vou controlar isso?") você pode fazer usando um banco de dados, um arquivo XML ou qualquer outro tipo de arquivo, que pode ser criptogrado ou não.

5) Esse controle de playlist normalmente é feito usando uma forma de estrutura de controle como citei acima. Quando você usa, por exemplo, o Winamp, você consegue navegar entre as músicas, sendo que o programa guarda quais foram as músicas tocadas anteriormente. Se você voltar na playlist várias músicas, ele irá tocar na mesma ordem que executou anteriormente.

De início é mais estudo. Vai fazendo por partes, dando uma estudada e façamos da forma como defini acima. Qualquer dúvida, tamos ai smile.gif


Keep on thinking

#3 Glauco Lemos

Glauco Lemos
  • Membros
  • 5 posts

Postado 17 outubro 2011 - 13:11

Ola... Xistyle

Bom olha o print ai do programa que estou usando como base.


Bom esse ai é o layout do programa...
Repara que é as imagens que são mostradas ai nessa tela são as capas que estao em cada pasta de cd que seria o encarte do cd.


Olha agora o cliente selecionoi uma Capa e fica assim...



Bom uma maquina dessa qual quer pessoa pode passar e por dinheiro nela e por quantas musicas quiserem uma vez colocada o credito o cliente é obrigado a usar esse creditos e o proximo cliente colocar mais creditos para poder usar e esperar as musicas do outro usuario acabar para usas tocar.ç;

Pensei em usar arquivos .txt pois são leves

Exemplo:

cliente X colocou 10 creditos ai no creditos.txt teria só uma linha assim 10 ai conforme ele for usando iria diminuindo no arquivo creditos.txt temos 10 creditos ai selecionei uma musica diminuiria 1 pois não é possivel selecionar mais de 1 musica por vez.

Agora em relação as teclas teria que ser só letras mesmo sem ter que adcionar algo a mais exemplo não poderia ser "CTRL + A" para avançar teria que ser "A" para avançar.


Vamos ver no que da.. Obrigado pela ajuda o que achou das ideias?

#4 Xistyle

Xistyle
  • Membros
  • 356 posts
  • Gender:Male
  • Location:São Paulo

Postado 17 outubro 2011 - 13:57

Então Glauco... legal a interface... mas o mais próximo de fazer uma interface rica do jeito que mostrou, usando as ferramentas .NET Framework, é criando um projeto WPF. Você deseja usar esse aplicativo em PCs mesmo ou será uma outra máquina, como um Jukebox mesmo? Se for uma máquina como Jukebox, a idéia do txt pode ser válida, pois ninguém terá acesso àquela informação e, toda vez que uma nova música é tocada você reescreve aquele arquivo.
Porém, se a máquina for de Jukebox poderia pensar em trabalhar com vetores multidimensionais - isso somente se a máquina Jukebox ficar ligada o tempo todo e, caso seja desligada, perca os créditos (forma como um fliperama se comportaria).
Por exemplo:

Um vetor chamado VetorDeVetores(), sem quantidade máxima definida. Nesse vetor você vai colocar um outro vetor. Esse novo vetor conterá o nome das músicas (ou algum identificador fácil para executar) que o usuário escolheu.
Internamente, os índices ficariam assim:

VetorDeVetores(0): Vetor1(8), onde Vetor1(8) é uma lista de 9 músicas (0 a 8) que o usuário Glauco escolheu:
Vetor1(0) = "Musica 1"
Vetor1(1) = "Musica 25"
Vetor1(2) = "Musica 67"
Vetor1(3) = "Musica 33"
Vetor1(4) = "Musica 9"
Vetor1(5) = "Musica 32"
...

Quando a música 1, que está na posição 0 do vetor terminar de tocar, você pode remover facilmente essa música do vetor. Fica fácil de você trabalhar com loops de repetição que irão controlar sua aplicação.
Agora, se for em computador normal, o txt pode ser manipulado também, não concorda? Se você tem um arquivo chamado creditos.txt, escrito apenas 10 nele, fica fácil de qualquer usuário abrir esse arquivo e colocar 81, mesmo que o usuário tenha usado 10 créditos.


Keep on thinking

#5 Glauco Lemos

Glauco Lemos
  • Membros
  • 5 posts

Postado 17 outubro 2011 - 14:27

então a ideia desse programa é usar ele em maquinas de musica mais quero que você entenda o que é uma maquina de musica do meu mode de entender.


Bom vamos lá uma maquina de musica iqual a essa da imagem de baixo:




Ela é composto pelo seguintes itens basicamente.

Placa mae, HD para ficar sistema operacional e as musicas, Alto Falante, interface e botoes. como pode ver ai tem um moedeiro e um noteiro por ai que entra os creditos para poder usar a maquina

Foto da interface que simula um teclado por onde os usuarios navegam pela maquina.


Moedeiro e noteiro por onde entra os creditos na maquina




o Legal seria achar um arquivo simples e criptografado para trabalhar os creditos mais tb por outro lado nesse tipo de maquina só o leiturista tem a chave sendo assim impossivel inserir creditos de outra forma alem de ser pelos notyeiro e moedeiro.


Bom tamos quase iniciando o projetos com as ideias quase formadas

Editado por Glauco Lemos, 17 outubro 2011 - 14:30 .


#6 Xistyle

Xistyle
  • Membros
  • 356 posts
  • Gender:Male
  • Location:São Paulo

Postado 17 outubro 2011 - 14:36

Legal cara! Então a idéia do arquivo é válida. Precisa definir apenas como irá montar essa interface e depois começar a colocar as mãos na massa, testar uns códigos...
Keep on thinking

#7 Glauco Lemos

Glauco Lemos
  • Membros
  • 5 posts

Postado 17 outubro 2011 - 15:01

Essa é a questao de como montar essa interface ai do programa..



Como desenvolver a cara do programa entendo um pouco de Photoshop e corel pois trabalhava com desenvolvimento de sites e por ai vai fica facil montar o layout do programa mais o que não esta me caindo na cabeça é como passar isso para o vb.net

Editado por Glauco Lemos, 17 outubro 2011 - 15:26 .


#8 Xistyle

Xistyle
  • Membros
  • 356 posts
  • Gender:Male
  • Location:São Paulo

Postado 17 outubro 2011 - 15:37

Aí que tá... pra trabalhar com essas interfaces ricas sugeriria o uso de WPF. É uma tecnologia em que você monta seus objetos na tela, usando tags parecidas com XML (na verdade a linguagem da interface do WPF chama-se XAML). Com isso você desenha sua tela, definindo os métodos para cada objeto, e consegue montar algumas coisas de forma simples, como por exemplo: efeitos ao passar o mouse por determinada capa de albúm, efeitos de clique.

Digite WPF INTERFACE no Google Imagens e veja se é mais ou menos desse nível que você deseja montar sua aplicação. Apenas lembrando que WPF está nível um pouco mais "complicado", mas não é um bicho de 7 cabeças não.
Keep on thinking

#9 Glauco Lemos

Glauco Lemos
  • Membros
  • 5 posts

Postado 17 outubro 2011 - 15:45

Olha acho que é você não deu uma olhada novideo esse programa ai do video foi feito em visual basic 6 creio que não seja um bicho de sete cabeça mais´é complicado para quem nunca mexeu... vou começar a desenvolver a parte grafica e estudar wpf

#10 Maribeth

Maribeth
  • Membros
  • 1 posts

Postado 21 outubro 2011 - 06:04

Estou muito satisfeito em participar deste fórum, para que ele possa aprender alguma coisa sobre. Conhecimento Net-relacionados.



Responder



  


1 usuário(s) está(ão) lendo este tópico

0 membros, 1 visitantes, 0 membros anônimos