Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]9771[/thread]

Mehrere Musik-Dateien gleichzeitig abspielen: unter Linux



<< >> 7 Einträge, 1 Seite
J-jayz-Z
 2005-07-31 22:23
#95445 #95445
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Das liegt weniger an deinem Programm, als an Linux.
Das gewünschte Sound Device (/dev/dsp) wird von deinem Programm belegt, auch, wenn es im Hintergrund läuft. Nutzen tut es dieses Device trotzdem.
Ich denke, du musst da mehr an deiner Sound device Config (ALSA ?) etwas ändern, als an deinem Script.
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
dominicn
 2005-07-31 19:41
#95446 #95446
User since
2003-08-08
327 Artikel
BenutzerIn
[default_avatar]
Ich habe ein Perl-Programm, das unter Linux läuft und mehrere Sound-Dateien gleichzeitig abspielen soll. Das Format ist dabei egal, kann also z.B. Wave oder MP3 sein. Am liebsten wäre mir ein OO-Interface, das z.B. so funktioniert:

Code: (dl )
1
2
3
4
5
6
7
8
my $player = PlayerPackage->new;
my $file1 = $player->play("file1.wav");
# irgendwas anderes machen
my $file2 = $player->play("file2.wav");
# irgendwas anderes machen
$file1->stop;
# irgendwas anderes machen
$file2->stop;


Ich will also, dass das Abspielen dann im Hintergrund stattfindet und mein Programm dadurch nicht blockiert wird.

Ich habe schon mit den Programmen mpg123 und aplay ein wenig probiert. Wenn ich jedoch eine Datei mit mpg123 abspiele und dann in einem zweiten Fenster eine weitere Datei abspielen möchte, dann bekomme ich den Fehler:
Quote
Can't open /dev/dsp!


Gibt es eine Möglichkeit, das Gewünschte zu realisieren?
dominicn
 2005-07-31 22:49
#95447 #95447
User since
2003-08-08
327 Artikel
BenutzerIn
[default_avatar]
Okay. ALSA habe ich. Da werde ich mich mal in dieser Richtung informieren ...

Unter Windows läuft sowas ja ohne Probleme, dass mehrere Programme gleichzeitig die Soundkarte bedienen.
betterworld
 2005-08-01 02:11
#95448 #95448
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
ALSA unterstuetzt das Feature meines Wissens nur fuer einige Soundkarten. Fuer die anderen braucht man einen Daemon wie esd oder artsd (schreibt man das so?)
dominicn
 2005-08-01 11:13
#95449 #95449
User since
2003-08-08
327 Artikel
BenutzerIn
[default_avatar]
Ich habe mittlerweile eine Anleitung dazu gefunden. Und es ist so, dass es einige Soundkarten hardwareseitig schon unterstützen, für die anderen muss man einen softwareseitigen mixer nehmen, hier dmix.
So, jetzt muss ichs nur noch hinkriegen.

Eine weitere perlseitige Frage bleibt aber trotzdem noch: Kennt ihr eine Perlmodul, mit dem man Sounds im Hintergrund abspielen kann, also ohne, dass ich erst mit fork oder ähnlichem hantieren muss??
J-jayz-Z
 2005-08-01 11:25
#95450 #95450
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Versuch mal das:
http://search.cpan.org/~lds/Bundle-MP3-1.00/MP3.pm\n\n

<!--EDIT|renee|1122882186-->
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
dominicn
 2005-08-01 11:57
#95451 #95451
User since
2003-08-08
327 Artikel
BenutzerIn
[default_avatar]
Hast du schonmal mit den Modulen aus Bundle::MP3 gearbeitet? Ich lads mir mal runter und schau mal, ob ich damit was anfangen kann.
<< >> 7 Einträge, 1 Seite



View all threads created 2005-07-31 22:23.