230 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 17:15:55.54 ] >>220 短くできるできないの前に、参加できる言語が限定されるだろ、これ。 use utf8; use File::Spec::Functions qw(splitpath); use Tk; use SDL ':all'; use SDL::Mixer; use SDL::Mixer::Music; SDL::init(SDL_INIT_AUDIO); SDL::Mixer::init(MIX_INIT_MP3 | MIX_INIT_FLAC | MIX_INIT_OGG); SDL::Mixer::open_audio(44100, AUDIO_S16, 2, 4096) and die SDL::get_error(); my $music; my $top = MainWindow->new; foreach( [選択 => sub{ my $file = $top->getOpenFile() or return; $top->title((splitpath $file)[2]); $music = SDL::Mixer::Music::load_MUS($file); }], [再生 => sub{ SDL::Mixer::Music::play_music($music, 0) }], [停止 => sub{ SDL::Mixer::Music::halt_music() }], [一時停止 => sub{ SDL::Mixer::Music::pause_music() }], [再開 => sub{ SDL::Mixer::Music::resume_music() }], [終了 => sub{ SDL::quit(); exit }], ){ $top->Button(-text => $_->[0], -command => $_->[1])->pack(-side => 'left'); } MainLoop();