audio/cck :: mp3-player :: node related playlist
am 07.12.2007 - 17:10 Uhr in
Hi Leute!
Ich versuche gerade, mir einen Überblick über die Möglichkeiten zu verschaffen, abspielbare mp3-Playlisten in die Sidebar einer Node-View einzubinden. Hierzu sehe ich nun zwei Möglichkeiten:
1. Das Audio-Modul, wobei die einzelnen mp3-Files aber zu Nodes werden und ich einen neuen Inhaltstyp bekomme, was ich gern vermeiden möchte. Zudem müsste ich dann pro Node einen Player in die Sidebar schieben (oder?).
2. Das CCK-Mediafield. Das ist auch genau das, was ich suche, denn hier kann ich mp3-Dateianhänge hochladen , die sofort mit der richtigen Node verknüft sind. Nur weiß ich da leider nicht, wie ich sie als Playliste in einen mp3-Player bekommen kann. Den Player selbst könnte ich auch selber in Flash coden, aber wie die Parameter übergeben werden können, ist mir nicht klar.
3. Das modul SWF-Tools, das man sicher irgendwie mit dem CCK-Mediafield zu einer Lösung verbinden könnte....
Hat jemand schon eine Lösung für solch ein Problem?
Danke!
- Anmelden oder Registrieren um Kommentare zu schreiben
für mich sieht es so aus,
am 10.12.2007 - 12:54 Uhr
für mich sieht es so aus, als ob ich das swftool einsetzen werde. nun muss ich nur noch die playliste der gerade offenen node an den flashplayer übermitteln.
ideen, lösungen?
...
na ich fang mal hier an: http://emspace.com.au/node/26
...
auch ganz informativ: http://drupal.org/node/141706
...
könnte man auch einbinden: http://drupal.org/project/asset
...
oder dies abändern bzw. um eine playliste und einen weiteren player erweitern: http://drupal.org/project/mediafield_display
also mein ansatz wäre es
am 11.12.2007 - 23:07 Uhr
also mein ansatz wäre es nun, das mediafiled_display.module um einen weiteren player zu erweitern, so z.B. den jeroenwijering-player (http://jeroenwijering.com/?item=Flash_Media_Player).
in zusammenarbeit mit dem swftools.module ließe sich dann über einen filter der player aufrufen:
<swflist
files="My song=song1.mp3&&My image=image.jpg&&My Movie=movie.flv"
player="wijering_mediaplayer"
width="550" height="250"
displaywidth="300"
>
wobei man in einem array vorher die files für die playliste sameln müsste.
ich suche nun noch mal nach der API für den xspf-player (http://musicplayer.sourceforge.net/), und ob man nicht auch ohne die swftools zum ziel kommt...
...
ou, hab ich grad entdeckt: http://drupal.org/project/xspf_playlist
könnte arbeit ersparen!
checkcheck...
...
hm, bekomme bisher leider keine ausgabe der per audiofield an die node X geklemmten mp3-files über localhost/meineseite/xspf/node/X hin...
:-(
naja, morgen guck ich mir mal http://drupal.org/project/swfobject_api und http://drupal.org/project/trackit an.
gute nacht!
bisher habe
am 12.12.2007 - 18:44 Uhr
bisher habe ich
nun meine frage: wie kann man die über das audiofield hochgeladenen dateien als dateianhang deklarieren? soll heißen: wie kann ich der hochgeladenen datei den file-staus aufstempeln, damit sie über die File API erfst wird?
mein bisheriger stand lautet
am 04.01.2008 - 11:11 Uhr
mein bisheriger stand lautet wie folgt:
ich lade die mp3's ganz normal mit anderen anhängen über das modul upload/attached files hoch (wobei die dateien mittes uploadpath.module in nodeabhängige verzeichnisse gespeichert werden) und benutze für den mp3-player swftools. mittels xspf_playlist kann ich mir die angehängten mp3-files als xml-file ausgeben lassen.
nun würde ich gern wissen, wie man die playliste in den swftools-player (jWijering) einlesen lassen kann. kann mir da jemand nen tip geben?
gut, dann führe ich meine
am 05.01.2008 - 18:42 Uhr
gut, dann führe ich meine selbstgespräche weiter,
in der hoffnung, dass andere genauso an einem ergebnis interessiert sind.
mein ziel ist die automatische erstellung einer playliste aus mit dem uploadmodul hochgeladenen, nodeabhängigen mp3-dateien. neben mp3-dateien werden allerdings auch andere dateitypen an die node gehängt.
also, ich habe nun ermittelt, dass man ENTWEDER swftools benutzt ODER swfobject_api zusammen mit xspf_playlist.
ich hatte erst mal letzteres ausprobiert und habe dann leider feststellen müssen, dass die darstellung im IE7 fehlerhaft ist. bei ersten laden der seite sieht es noch ganz gut aus, der player wird anständig dargestellt, die playliste erscheint usw., bei einem refresh der seite wird der player allerdings auf einmal falsch dargestellt, die preloader-animation befindet sich auf einmal nicht mehr mittig, sondern in der oberen linken ecke. daraufhin erscheint das untere linke viertel des geladenen bildes und weder playerfunktionen noch playlist sind zu sehen. nur weiße fläche.
daraufhin entschied ich mich doch für die kombination der swftools-module Wijering Flash, SWFObject und SWF Tools Integration. hier wird nun alles korrekt dargestellt und ich muss "einfach" ein bisschen den code hacken.
meinen player erzeuge ich mit
<?php
if (arg(0) == 'node' && is_numeric(arg(1))) :
$playlist = swftools_playlist_from_upload();
print swf_list($playlist);
endif;
?>
was ich erreichen möchte ist
- ich bekomme die meldung "No player is configured for the action 'swftools_mp3_display_list'", da ich per upload auch ZIP-dateien an die node hänge. diese meldung möchte ich natürlich weg haben. der player zeigt mir diese dateien auch in seiner playliste, was ich unterbinden möchte.
a) ich werde versuchen, nur mp3-dateien in die liste zu lassen (und hoffe mal, dass dann die meldung verschwindet)
- ich möchte, dass die playliste nach der dateibeschreibung sortiert wird
b) sortierung des entsprechenden arrays, sollte ja zu machen sein. mus sich nur finden...
- per cck habe ich pro node ein bild eingebunden. dieses soll im player dargestellt werden.
c) wie bekomme ich bloss das nodeabhängige bild über die funktion swf_list() in den player...
eine weitere möglichkeit, mit der ich zufrieden wäre ist
d) der player soll gar kein bild darstellen, die playliste soll unter den bedienelementen erscheinen. ist das möglich?
über hilfe freue ich mich natürlich immer noch!
na denn ans werk...
zu a)
am 06.01.2008 - 13:27 Uhr
zu a)
in der funktion swftools_playlist_from_upload($node = SWFDEFAULT, $type_filter = array(), $only_listed = TRUE) ist eine dateifilterung schon vorgesehen.
mit
$playlist = swftools_playlist_from_upload($node, array('mp3'), TRUE);
sollte das also eigentlich funktionieren.
leider erhalte ich dann aber die meldungen
"Sorry, flash is not available."
und zwei mal
"No player is configured for the action 'swftools_mp3_display_list'"
"No player is configured for the action 'swftools_mp3_display_list'"
hm...
...
nochmal alles durchgelesen und das netz durchforsten ergab:
folgendes muss der swftools.admin.inc hinzugefügt werden:
<?php
$mp3_list[0] = 'None';
$methods = swftools_methods_available(SWFTOOLS_MP3_DISPLAY_LIST);
if (count($methods)) {
foreach ($methods AS $method => $info) {
if (!file_exists($player_directory . $info['shared_file'])) {
$mp3_list[$method] = $info['title'] .' - <span class="error">Missing</span>';
}
else {
$mp3_list[$method] = $info['title'];
}
}
}
$form['swftools']['handling'][SWFTOOLS_MP3_DISPLAY_LIST] = array(
'#type' => 'radios',
'#title' => t('Default player for a <strong>list</strong> of .mp3 files'),
'#default_value' => variable_get(SWFTOOLS_MP3_DISPLAY_LIST, 0),
'#options' => $mp3_list,
);
?>
dann das filehandling im adminbereich der swftools anpassen und es funktioniert!
da ich den player aber in einem block haben will muss ich nun noch den automatisch erzeugten player in der nodeansicht unterbinden...
zu d) das bild bekommt man
am 06.01.2008 - 14:05 Uhr
zu d)
das bild bekommt man weg, wenn man dem parameter "displaywidth" den wert 0.1 zuweist. leider bleibt dann aber noch ein dünner streifen am linken rand übrig. die playliste bleibt zudem noch über den bedienelementen des players.
naja, immerhin...
Dateiname in Playlist ändern
am 06.01.2008 - 17:15 Uhr
wer gerne die Filedescription anstelle des dateinamens in der playliste zu stehen haben möchte muss in der datei swftools.module zeile 849 wie folgt anpassen:
$playlist_data['playlist'][$key]['filename'] = $data['description'];
// vorher: $playlist_data['playlist'][$key]['filename'] = $data['filename'];