Schrift
[thread]11434[/thread]

XMMS2 Titel ausgeben

Leser: 1


<< >> 4 Einträge, 1 Seite
DrWhiteLetter
 2008-03-07 19:59
#106816 #106816
User since
2005-01-30
26 Artikel
BenutzerIn
[default_avatar]
Hi,

ich habe da ein kleines Problem mit dem richtigen Ansprechen eines Array oder Hashes.

Es geht in folgendem Modul um die Methode "medialib_get_info":
http://search.cpan.org/~flora/Audio-XMMSClient-0.0...

Hier mal ein Beispielcode:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
use warnings;
user strict;

use Data::Dumper;
use Audio::XMMSClient;

my $conn = Audio::XMMSClient -> new ('xxx');
$conn -> connect;

my $result = $conn -> playback_current_id -> wait -> value;
my %info = $conn -> medialib_get_info($result) -> wait -> value;

print Dumper( %info );


Das ergibt folgenden Fehler:
Code: (dl )
1
2
3
Reference found where even-sized list expected at datadumperl.pl line 12.
$VAR1 = 'Audio::XMMSClient::Result::PropDict=HASH(0x82552b8)';
$VAR2 = undef;

Das sagt mir jetzt irgendwie nicht viel. Aber wenn ich die Rückgabe nun in ein Array schreibe, also
Code: (dl )
1
2
my @info = $conn -> medialib_get_info($result) -> wait -> value;
print Dumper( @info );


Bekomme ich diese Ausgabe:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$VAR1 = bless( {
'lmod' => 1201178022,
'bitrate' => 218876,
'status' => 1,
'date' => '2008',
'added' => 1201626189,
'timesplayed' => 16,
'size' => 6061241,
'sample_format' => 'S16',
'url' => 'file:///home/daten/music/xxx/xxx.mp3',
'id' => 69,
'isvbr' => 1,
'channels' => 2,
'samplerate' => 44100,
'tracknr' => 17,
'duration' => 221544,
'genre' => 'Pop',
'chain' => 'file:magic:id3v2:magic:mad',
'artist' => 'xxx',
'album' => 'xxx',
'comment' => 'noir\'08',
'title' => 'xxx',
'laststarted' => 1204912420,
'mime' => 'audio/mpeg'
}, 'Audio::XMMSClient::Result::PropDict' );

(mit den xxx'en wurden einige Daten von mir versteckt)

Das sieht für mich aus wie ein Hash-Array, aber das klappt ja nicht. :(
Wie komm ich nun an die Daten? Wenn ich über das Array darauf
zugreifen will, erhalte ich nur die Fehlermeldung, dass das ja ein
Hash-Array sei und ich es nicht umwandeln kann.

Ich sitze da jetzt schon 2 Stunden dran und bin echt am verzweifeln...


Danke schonmal.
renee
 2008-03-07 20:07
#106817 #106817
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du bekommst ein Objekt der Klasse Audio::XMMSClient::Result::PropDict zurück. Wie Du dann an die Informationen kommst, sollte in der Doku stehen...

Die unsaubere Methode, da die Klasse anscheinend keine Methoden zur Verfügung stellt...

Code (perl): (dl )
1
2
3
my $info = $conn -> medialib_get_info($result) -> wait -> value;

print $info->{title},"\n"
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
DrWhiteLetter
 2008-03-07 20:45
#106820 #106820
User since
2005-01-30
26 Artikel
BenutzerIn
[default_avatar]
Die Doku ist ziemlich spärlich und sagt mir eigentlich fast garnichts. Aber danke schonmal! Ich glaube das Hilft mir weiter.


Anmerkung:
Ähm, mir ist da gerade ein missgeschick passiert, ich hatte die Seite noch offen und scheinbar hat es beim aktualisieren wohl jedesmal einen neuen Thread erstellt, könnte diese vielleicht ein Moderator löschen?
GwenDragon
 2008-03-07 20:48
#106821 #106821
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
<< >> 4 Einträge, 1 Seite



View all threads created 2008-03-07 19:59.