Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

NetHand Soluções Web

Tempo de Duração de uma Música

Recommended Posts

velho não tenho certeza, mais veja se este code ajuda

 

<%
'==========================================================================================
'	I D 3   T A G   R E A D E R  (ID3v1 e ID3v1.1)
'	Autor: Gabriel Fróes (www.codigofonte.com.br)
'	Data: 17/07/2006
'	Versão: 1.0
'==========================================================================================

'*******************************************************
'CLASSE RESPONSÁVEL PELA LEITURA DAS TAGS ID3 NO MP3
'*******************************************************
Class MP3ID3
	'-----------------------------------------------------
	'ATRIBUTOS DA CLASSE
	'-----------------------------------------------------
	Private a_Tamanho
	Private a_Arquivo
	Private a_Titulo
	Private a_Artista
	Private a_Album
	Private a_Ano
	Private a_Comentario
	Private a_Trilha
	Private a_Genero
	Private a_TAG
	'Objetos
	Private objFSO
	Private objMP3
	'Array com os Gêneros
	Private arrGeneros
	
	'-----------------------------------------------------
	'PROPRIEDADES DA CLASSE
	'-----------------------------------------------------
	Public Property Get Tamanho
		Tamanho = a_Tamanho
	End Property
	Public Property Get Arquivo
		Arquivo = a_Arquivo
	End Property
	Public Property Get Titulo
		Titulo = a_Titulo
	End Property
	Public Property Get Artista
		Artista = a_Artista
	End Property
	Public Property Get Album
		Album = a_Album
	End Property
	Public Property Get Ano
		Ano = a_Ano
	End Property
	Public Property Get Comentario
		Comentario = a_Comentario
	End Property
	Public Property Get Trilha
		Trilha = a_Trilha
	End Property
	Public Property Get Genero
		Genero = a_Genero
	End Property
	Public Property Get TAG
		TAG = a_TAG
	End Property
	
	'-----------------------------------------------------
	'Procedimentos de Inicialização de Destruição da Classe
	'-----------------------------------------------------
	Private Sub Class_Initialize()
		'Criação dos Objetos
		Set objFSO	= Server.CreateObject("Scripting.FileSystemObject")
		Set objMP3	= Server.CreateObject("ADODB.Stream")  
		objMP3.Type = 1	'adTypeBinary
		arrGeneros	= Split("Blues,Classic Rock,Country,Dance,Disco,Funk,Grunge,Hip-Hop,Jazz,Metal,New Age,Oldies,Other,Pop,R&B,Rap,Reggae,Rock,Techno,Industrial,Alternative,Ska,Death Metal,Pranks,Soundtrack,Euro-Techno,Ambient,Trip-Hop,Vocal,Jazz+Funk,Fusion,Trance,Classical,Instrumental,Acid,House,Game,Sound Clip,Gospel,Noise,Altern Rock,Bass,Soul,Punk,Space,Meditative,Instrumental Pop,Instrumental Rock,Ethnic,Gothic,Darkwave,Techno-Industrial,Electronic,Pop-Folk,Eurodance,Dream,Southern Rock,Comedy,Cult,Gangsta,Top 40,Christian Rap,Pop/Funk,Jungle,Native American,Cabaret,New Wave,Psychadelic,Rave,Showtunes,Trailer,Lo-Fi,Tribal,Acid Punk,Acid Jazz,Polka,Retro,Musical,Rock & Roll,Hard Rock,Folk,Folk/Rock,National Folk,Swing,Bebob,Latin,Revival,Celtic,Bluegrass,Avantgarde,Gothic Rock,Progressive Rock,Psychedelic Rock,Symphonic Rock,Slow Rock,Big Band,Chorus,Easy Listening,Acoustic,Humor,Speech,Chanson,Opera,Chamber Music,Sonata,Symphony,Booty Bass,Primus,--- Groove,Satire,Slow Jam,Club,Tango,Samba,Folclore", ",")
	End Sub
	Private Sub Class_Terminate()
		'Destruição dos Objetos
		Set objMP3	= Nothing
		Set objFSO	= Nothing
	End Sub

	'-----------------------------------------------------
	'MÉTODOS DA CLASSE
	'-----------------------------------------------------
	'-----------------------------------------------------
	'Funcao: readID3Tags(ByVal CaminhoMP3)
	'Sinopse: Realizar a leitura do MP3 e extrai as TAGS ID3
	'		  e preenche as propriedades
	'Parametro:
	'       CaminhoMP3: Caminho Virtual do arquivo MP3
	'Retorno: Booleano
	'-----------------------------------------------------
	Function readID3Tags(ByVal CaminhoMP3)
		'Declaração
		Dim Retorno
		Dim GeneroID
		Dim tmpComentario
		
		'Inicialização
		Retorno		= False
		a_Tamanho	= ""
		a_Arquivo	= ""
		a_Titulo	= ""
		a_Artista	= ""
		a_Album		= ""
		a_Ano		= ""
		a_Comentario= ""
		a_Trilha	= ""
		a_Genero	= ""
		a_TAG		= ""
		
		'Abrindo o arquivo MP3
		objMP3.Open
		objMP3.LoadFromFile CaminhoMP3
		objMP3.Position = objMP3.Size - 128
		
		'Verificando se o arquivo possui TAG
		If UCase(converteBinario(objMP3.Read(3))) = "TAG" Then
			'TAMANHO
			a_Tamanho		= Round((objMP3.Size/1024)/1024,2) & " MB"
			'ARQUIVO
			a_Arquivo		= objFSO.GetFileName(CaminhoMP3)
			'TITULO
			a_Titulo		= converteBinario(objMP3.Read(30))
			'ARTISTA
			a_Artista		= converteBinario(objMP3.Read(30))
			'ALBUM
			a_Album			= converteBinario(objMP3.Read(30))
			'ANO
			a_Ano			= converteBinario(objMP3.Read(4))
			'COMENTARIO
			tmpComentario	= objMP3.Read(30)
			'TAG
			If AscB(MidB(tmpComentario, 29, 1)) = 0 And AscB(MidB(tmpComentario, 30, 1)) > 0 And AscB(MidB(tmpComentario, 30, 1)) < 256 Then
				a_Tag = "ID3v1.1"
				'COMENTARIO (v1.1)
				a_Comentario = converteBinario(LeftB(a_Comentario, 28))
				'TRILHA
				a_Trilha = AscB(MidB(tmpComentario, 30, 1))
			Else
				a_Tag			= "ID3v1"
				a_Comentario	= tmpComentario
			End If
			'GENERO
			GeneroID = AscB(objMP3.Read(1))
			If GeneroID <= 114 AND GeneroID >= 0 Then
				a_Genero = arrGeneros(GeneroID)
			End If
			Retorno = True
		End If
		objMP3.Close
		
		'Retornando a função
		readID3Tags = Retorno
	End Function
	
	'-----------------------------------------------------
	'Funcao: converteBinario(ByVal Bin)
	'Sinopse: Converte o Valor Binário passado.
	'Parametro:
	'       Bin: Valor em Binário
	'Retorno: String
	'-----------------------------------------------------
	Private Function converteBinario(ByVal Bin)
		Dim Aux
		For Aux = 1 To LenB(Bin)
			If AscB(MidB(Bin, Aux, 1)) <> 0 Then converteBinario = converteBinario & Chr(AscB(MidB(Bin, Aux, 1)))
		Next
	End Function
End Class

'EXEMPLO DE CHAMADA
Dim objID3
Set objID3 = New MP3ID3
If objID3.readID3Tags("D:\Gabriel\Minhas músicas\Kiss From a Rose.mp3") = True Then
	Response.Write "<h1>" & objID3.Arquivo & "</h1>"
	Response.Write "Artista: " & objID3.Artista & "<br>"
	Response.Write "Titulo: " & objID3.Titulo & "<br>"
	Response.Write "Tamanho: " & objID3.Tamanho & "<br>"
	Response.Write "TAG: " & objID3.TAG & "<br>"
	Response.Write "Genero: " & objID3.Genero & "<br>"
	Response.Write "Album: " & objID3.Album & "<br>"
	Response.Write "Ano: " & objID3.Ano & "<br>"
	Response.Write "Trilha: " & objID3.Trilha & "<br>"
Else
	Response.Write "Não foi possível ler o arquivo MP3."
End If

If objID3.readID3Tags("D:\Gabriel\Minhas músicas\Seal - Kiss from a rose (unplugged & acoustic session).mp3") = True Then
	Response.Write "<h1>" & objID3.Arquivo & "</h1>"
	Response.Write "Artista: " & objID3.Artista & "<br>"
	Response.Write "Titulo: " & objID3.Titulo & "<br>"
	Response.Write "Tamanho: " & objID3.Tamanho & "<br>"
	Response.Write "TAG: " & objID3.TAG & "<br>"
	Response.Write "Genero: " & objID3.Genero & "<br>"
	Response.Write "Album: " & objID3.Album & "<br>"
	Response.Write "Ano: " & objID3.Ano & "<br>"
	Response.Write "Trilha: " & objID3.Trilha & "<br>"
Else
	Response.Write "Não foi possível ler o arquivo MP3."
End If
Set objID3 = Nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja fiz isso, atraves de um arquivo txt,xml onde lia o arquivo e recuperarva apenas a informaçao desejada, tb pode fazer com bd

você tb pode pegar o tempo total da faixa mp3 usando JavaScript ou ASP.NET

Compartilhar este post


Link para o post
Compartilhar em outros sites

Patrique, seu código é interessante... pega bastante informação dos arquivos, menos o tempo :)

ainda assim obrigado, este código poderá ser bem útil.

 

xanburzum, postei na sessão de javascript pra ver se alguem pode ajudar, mas caso você possa me passar uma dica de como fazer isso via JavaScript iria me ajudar muito...

 

até achei uma técnica no santo Google, mas ele só pega o tempo de uma música que esteja em execução no media player, e eu preciso das informações de todas as músicas de uma pasta, somá-las, e apresentar na tela o tempo total.

 

fico no aguardo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq naun usa um plugin de media player!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo akeles plugins de media , para dreamweaver, ele faz isso....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.