Playlist Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
mad.fox
Level 1
Level 1
Příspěvky: 86
Registrován: září 04
Pohlaví: Nespecifikováno
Stav:
Offline
Kontakt:

Playlist  Vyřešeno

Příspěvekod mad.fox » 15 led 2008 14:05

Přeji hezký den,

chtěl bych pomoci s tvorbou Playlistů, jestli by se nedalo něco jednoduchého vytvořit nebo jestli něco již neexistuje, jde mi o to že při vytváření Playlistu musím psát vše ručně a pokud má třeba 600 položek, tak je to na palici, Playlist má mít tento tvar:

<?xml version="1.0" encoding="utf-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>

<track>
<location>gallery/gal17_obr1199664989_107.jpg</location>
</track>
<track>
<location>gallery/gal17_obr1199664991_91.jpg</location>
</track>
<track>
<location>gallery/gal17_obr1199664991_98.jpg</location>
</track>
<track>
<location> ................................. adt podle počtu souborů

</trackList>
</playlist>

potřeboval bych něco co to udělá za mě z vybraného adresáře, popřípadě i podadresářů a to s relativní cestou od vyvolání.

Předem moc děkuji

Reklama
Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Příspěvekod mike007 » 16 led 2008 06:40

Najdi si na netu xml generator.

Například tento je fajn : http://www.jeroenwijering.com/?thread=1018
Kdyby si potřeboval pomoci s překladem návodu nebo poradit ohledně skriptu, dej vědět.
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

Uživatelský avatar
mad.fox
Level 1
Level 1
Příspěvky: 86
Registrován: září 04
Pohlaví: Nespecifikováno
Stav:
Offline
Kontakt:

Příspěvekod mad.fox » 16 led 2008 11:56

Je fakt dobrej, díky, ale co s tím :-( , vůbec nemám predstavu , pro mě to je jak rozsypanej čínskej čaj, jestli můžeš, tak mi prosím poraď co a jak, děkuji.

Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Příspěvekod mike007 » 16 led 2008 15:47

Otevři si poznámkový blok a do něj nakopíruj tento VB kod :

Kód: Vybrat vše

'*********************************************************************************
'based on : Mp3Playlister_singleList.vbs
'orig. author : la_boost@yahoo.com
'found at : www.interclasse.com/scripts/ Mp3Playlister_singleList.php
'orig. date : 13.04.2002
'version : 1.1
'description: recursive m3u playlist generator :
' create ONE single playlist for ALL mp3 files
' found in the selected path, the generated playlist
' is saved in the scanned folder and uses absolute paths
'usage : create shortcut to this file in the "SendTo" folder or drag-drop folder on it

'*********************************************************************************
'MODIFIED BY: charlie craig, craigcharlieATSYMBOLhotmail.com
'mod. date : 13.04.2006
'mod. reason : Recoded this to generate XPSF playlists;
' Just change the "My MP3 Playlist" string and the
' "http://www.MyHomePage.com" string to have your personal info
' automatically added to the generated output.
'*********************************************************************************


'***********************************
'BEGIN
'***********************************
Option Explicit
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, WshShell, cptTot, objArgs, arrFiles(), sExtToGet
Dim driveLetter, pathToScan, fold, nTime, sAppName
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
sAppName = "Mp3Playlister - Recursive playlist generator"


'CC the location that the script should output to
dim outputDir
dim fScript
set fScript = fso.GetFile(WScript.ScriptFullName)

outputDir = fScript.parentFolder.Path

'end CC

'-- lowercase file extension to search for
sExtToGet = "mp3"
'-- playlist file extension
Const sPlaylistExt = "xml"

Set objArgs = WScript.Arguments
if ( objArgs.Count = 0 ) then
WshShell.Popup "You must specify a directory. ", 7, sAppName, 48
WScript.Quit
end if
pathToScan = objArgs(0)

if ucase(left(pathToScan, len(outputDir))) <> ucase(outputDir) then
WshShell.Popup "You may only scan directories that are found within the same directory as this script (i.e., """ & outputDir & """", 11, sAppName, 48
WScript.Quit
end if


nTime = Timer

'-- start scanning
Call startScanning()

'-- clean
Set fso = nothing
Set WshShell = nothing
'***********************************
'END
'***********************************


'***********************************
'FUNCTIONS:
'***********************************

Sub startScanning()
Dim i, cpt, playlistPath
cptTot = 0
If fso.FolderExists(pathToScan) Then
ReDim arrFiles(0)
Set fold = fso.Getfolder(pathToScan)

playlistPath = outputDir &"/"& "playlist" & "." & sPlaylistExt
'CC playlistPath = fold.path &"\"& fold.Name & "." & sPlaylistExt

'-- recurse folder
Call DoIt(fold)
Else
WshShell.Popup "Folder """& pathToScan &""" does not exist. ", 5, sAppName, 48
Wscript.quit
End If

'-- save playlist if more than 0 entry in it
If (UBound(arrFiles) > 0) Then
Call Quicksort(arrFiles,0,cptTot-1)
Call createAndSavePlaylist(arrFiles, playlistPath)
End If

WshShell.Popup "Finished. " & chr(13) & chr(13) & cptTot & _
" files have been playlisted in the following file:"& Chr(13)& Chr(13) & _
Replace(playlistPath,"\","/") & Chr(13) & Chr(13) & showTime(nTime) _
, 0, sAppName, 64
End Sub
'*********************************************************************************

Sub AddFiles(fold)
'-- process all mp3 files in the fold folder
Dim strExt, mpFiles, strName, foldName, foldPath, f, sulength, suname, leslash

foldPath = fold.Path
Set mpfiles = fold.Files

For each f in mpfiles
strName = f.Name
strExt = LCase(fso.GetExtensionName(strName))

'-- CC to solve issue with an output root directory having a backslash that's not part of the length of the foldPath string
If len(outputDir) = 3 Then
sulength = len(foldPath) - len(outputDir) + 1
Else
sulength = len(foldPath) - len(outputDir)
End If

'-- CC these variables enable outputting the string for the relative path beginning with the folder being scanned.
suname = len(foldPath) - (len(pathToScan))
If suname = 0 Then
leslash=""
Else
leslash="/"
End If
'-- leslash adds a "/" before folder names to show that it's a directory, this helps distinguish folders from files during the sorting, otherwise folders are sorted the same as files.

If strExt = sExtToGet Then

'-- CC this is the string that outputs file names
arrFiles(cptTot) = vbTab & "<track>"& vbCrLf& vbTab & vbTab & vbTab & "<annotation>"& Replace(Right(foldPath, suname),"\","/") & leslash & UCase(Left(strName, 1)) & Mid(strName,2,Len(strName))&"</annotation>" & vbCrLf & vbTab & vbTab & vbTab & "<location>"& "." & Replace(Right(foldPath, sulength),"\","/") &"/"& UCase(Left(strName, 1)) & Mid(strName,2,Len(strName))&"</location>" & vbCrLf & vbTab & vbTab & vbTab &"<info>"& "http://www.google.com/search?hl=en"&Chr(38)&"q="& Replace(Left(strName,(Len(strName)-4))," ", "+")&"</info>"& vbCrLf & vbTab &"</track>"& vbCrLf


ReDim Preserve arrFiles(UBound(arrFiles)+1)
cptTot = cptTot + 1 '-- global counter for processed files
End If
Next

End Sub
'*********************************************************************************

Sub createAndSavePlaylist(arrFiles, playlistPath)
Dim txt, txtFile

'-- create XPSF file (ASCII)
If Not fso.FileExists(playlistPath) Then
Set txtFile = fso.CreateTextFile(playlistPath,true,false) 'ASCII !!
End If
Set txtFile = fso.GetFile(playlistPath)
Set txt = txtFile.OpenAsTextStream(ForWriting, -1) 'ForWriting , 0 for ASCII (-1 for Unicode)
'-- write XML header info
txt.write("<?xml version="&Chr(34)&"1.0"&Chr(34)&" encoding="&Chr(34)&"UTF-8"&Chr(34)&" ?>")
txt.write(vbCrLf)
txt.write("<playlist version="&Chr(34)&"1"&Chr(34)&" xmlns="&Chr(34)&"http://xspf.org/ns/0/"&Chr(34)&">")
txt.write(vbCrLf)
txt.write("<title>Your MP3 Playlist</title>")
txt.write(vbCrLf)
txt.write("<info>http://YourWebsiteHere </info>")
txt.write(vbCrLf)
txt.write(vbCrLf)
txt.write("<trackList>")
txt.write(vbCrLf)
txt.write(vbCrLf)
txt.write Join(arrFiles, vbCrLf)
txt.write(vbCrLf)
txt.write("</trackList>")
txt.write(vbCrLf)
txt.write("</playlist>")

txt.close
Set txtFile = nothing
End Sub
'*********************************************************************************

Sub DoIt(fold)
'-- recursive scan
Dim sfold, sfoo
Call AddFiles(fold) 'process files in current folder
Set sfold = fold.subfolders
for each sfoo in sfold 'process files in subfolders
Call DoIt(sfoo)
Next
End Sub
'*********************************************************************************

Function showTime(nTime)
showTime = "Elapsed time : " & Round((Timer - nTime),2) &" seconds"
End Function
'*********************************************************************************

Sub QuickSort(vec,loBound,hiBound)
Dim pivot,loSwap,hiSwap,temp

'== This procedure is adapted from the algorithm given in:
'== Data Abstractions & Structures using C++ by
'== Mark Headington and David Riley, pg. 586
'== Quicksort is the fastest array sorting routine for
'== unordered arrays. Its big O is n log n

'== Two items to sort
if hiBound - loBound = 1 then
if vec(loBound) > vec(hiBound) then
temp=vec(loBound)
vec(loBound) = vec(hiBound)
vec(hiBound) = temp
End If
End If

'== Three or more items to sort
pivot = vec(int((loBound + hiBound) / 2))
vec(int((loBound + hiBound) / 2)) = vec(loBound)
vec(loBound) = pivot
loSwap = loBound + 1
hiSwap = hiBound

do
'== Find the right loSwap
while loSwap < hiSwap and vec(loSwap) <= pivot
loSwap = loSwap + 1
wend
'== Find the right hiSwap
while vec(hiSwap) > pivot
hiSwap = hiSwap - 1
wend
'== Swap values if loSwap is less then hiSwap
if loSwap < hiSwap then
temp = vec(loSwap)
vec(loSwap) = vec(hiSwap)
vec(hiSwap) = temp
End If
loop while loSwap < hiSwap

vec(loBound) = vec(hiSwap)
vec(hiSwap) = pivot

'== Recursively call function .. the beauty of Quicksort
'== 2 or more items in first section
if loBound < (hiSwap - 1) then Call QuickSort(vec,loBound,hiSwap-1)
'== 2 or more items in second section
if hiSwap + 1 < hibound then Call QuickSort(vec,hiSwap+1,hiBound)

End Sub 'QuickSort
'*********************************************************************************


a blok ulož pod názvem XPSF_Mp3Playlister.vbs

Nyní myší chytneš složku s mp3 a přetáhneš ji na tento soubor. V okamžiku budeš mít vygenerovaný playlist.xml se všemi mptrojkami, které si v té složce měl.

Playlist bude přesně ve formátu jaký požaduješ.

Příklad :

<?xml version="1.0" encoding="UTF-8" ?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<title>Your MP3 Playlist</title>
<info>http://YourWebsiteHere </info>

<trackList>

<track>
<annotation>1. Dee Dee - Forever (Stu Allan Remix).mp3</annotation>
<location>./HUDBA/k zazálohování/Hardcore Nation 2/1. Dee Dee - Forever (Stu Allan Remix).mp3</location>
<info>http://www.google.com/search?hl=en&q=1.+Dee+Dee+-+Forever+(Stu+Allan+Remix)</info>
</track>

<track>
<annotation>1. Dj Sy & Unknown - We're Rockin' This Place.mp3</annotation>
<location>./HUDBA/k zazálohování/Hardcore Nation 2/1. Dj Sy & Unknown - We're Rockin' This Place.mp3</location>
<info>http://www.google.com/search?hl=en&q=1.+Dj+Sy+&+Unknown+-+We're+Rockin'+This+Place</info>
</track>

<track>
<annotation>1. Robbie Long & Stormtrooper - Dopest DJ.mp3</annotation>
<location>./HUDBA/k zazálohování/Hardcore Nation 2/1. Robbie Long & Stormtrooper - Dopest DJ.mp3</location>
<info>http://www.google.com/search?hl=en&q=1.+Robbie+Long+&+Stormtrooper+-+Dopest+DJ</info>
</track>

<track>
<annotation>10. Scott Brown & Cat Knight - All About You.mp3</annotation>
<location>./HUDBA/k zazálohování/Hardcore Nation 2/10. Scott Brown & Cat Knight - All About You.mp3</location>
<info>http://www.google.com/search?hl=en&q=10.+Scott+Brown+&+Cat+Knight+-+All+About+You</info>
</track>
</trackList>
</playlist>
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

Uživatelský avatar
mad.fox
Level 1
Level 1
Příspěvky: 86
Registrován: září 04
Pohlaví: Nespecifikováno
Stav:
Offline
Kontakt:

Příspěvekod mad.fox » 16 led 2008 16:13

Super, díky, ono to funguje, to je divný, fakt dík :-)

Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Příspěvekod mike007 » 16 led 2008 16:47

Jakým způsobem to využiješ? Máš nějaký flash přehrávač, který z toho bude čerpat? Docela by mě to zajímalo. O tohle jsem se nikdy nezajímal, tak bys mi mohl také pomoci :smile:
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

Uživatelský avatar
mad.fox
Level 1
Level 1
Příspěvky: 86
Registrován: září 04
Pohlaví: Nespecifikováno
Stav:
Offline
Kontakt:

Příspěvekod mad.fox » 16 led 2008 17:42

Na flash prohlížeč fotek na svojich stránkách http://www.bco.ic.cz je to v levém sloupci dole, pokud si stáhneš od tud http://www.jeroenwijering.com přehrávač na mp3 kak ten script použiješ pro něj, já si ho musel upravit ten script na JPG, změnil jsem tam jen mp3 za jpg asi na třicátém řádku, jinak od nich používám i přehrávač na .flv videa.

Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Příspěvekod mike007 » 16 led 2008 18:14

Líbí se mi ten přehrávač videí co mají tady. Ten je moc dobrý. Stáhnul jsem si od nich mediaplayer. Ten je jednodušší než ten co tam mají, ale zatím se mi nepovedlo nic spustit. Musím najít nějaký návod.
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

Uživatelský avatar
mad.fox
Level 1
Level 1
Příspěvky: 86
Registrován: září 04
Pohlaví: Nespecifikováno
Stav:
Offline
Kontakt:

Příspěvekod mad.fox » 16 led 2008 18:49


Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Příspěvekod mike007 » 16 led 2008 18:56

Už se mi povedlo zprovoznit filmečky pomocí xml, ale přehrávají se mi náhodně. tj. refresh stránky = jiný filmek. Nejedou za sebou ani nemám ten seznam filmečků. Jak se ti ho povedlo udělat?

O tomhle si musím něco přečíst. Doma mám sice knížku o Flashi, ale ještě nebyl čas ani chuť se do ní podívat.
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.

Uživatelský avatar
mad.fox
Level 1
Level 1
Příspěvky: 86
Registrován: září 04
Pohlaví: Nespecifikováno
Stav:
Offline
Kontakt:

Příspěvekod mad.fox » 16 led 2008 19:09

Takto, cestu k tomu mediaplayer.swf a k playlistu si uprav podle sebe


<html>
<head>
<script type="text/javascript" src="swfobject.js"></script>
</head>
<body>
<center>
<p id="player2"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</p>
<script type="text/javascript">
var s2 = new SWFObject("/video/mediaplayer.swf","playlist","450","450","7");
s2.addParam("allowfullscreen","true");
s2.addVariable("file","/video/playlist.xml");
s2.addVariable("displayheight","337");
s2.addVariable("width","450");
s2.addVariable("height","450");
s2.write("player2");
</script>
</center>
<center>
<hr>
</center>
</body>
</html>

Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Příspěvekod mike007 » 16 led 2008 19:17

Je to super, díky. Škoda, že to není jako ten jejich, co tam mají. Ten je hodně dobrý. No ale já na to přijdu :wink:

Díky.
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů