Stackoverflow:
Для назначения cs я использую следующий код для потоковой передачи аудио. Однако теперь я хотел бы добавить возможность последовательной потоковой передачи файлов, как в списке воспроизведения, как я могу изменить свой код, чтобы приспособиться к этому? Я хотел бы иметь текстовый файл с именами файлов, через которые каждый сценарий проходит через каждый поток. Это возможно? Я потратил много времени на поиск в Google, но нашел несколько релевантных ссылок.
Спасибо,
CB
#!/usr/bin/perl
use strict;
use CGI::Carp qw/fatalsToBrowser/;
open(OGGFILE, "../HW1/OGG/ACDC.ogg") or die "open error";
my $buffer;
print "Content-type: audio/ogg\n\n";
binmode STDOUT;
while( read(OGGFILE, $buffer, 16384)){
print $buffer;
}
close(OGGFILE);
Обновление:
С тех пор я изменил свой код для создания списка воспроизведения, и, похоже, он работает хорошо. Однако, чтобы это работало, я храню свои музыкальные файлы в своей папке html, доступной для всеобщего обозрения. Это простой вопрос изменения прав доступа к файлам для предотвращения прямых ссылок и видимости? Могу ли я изменить эту программу, чтобы она передавала файлы из папки вне / html?
Спасибо
CB
#!/usr/bin/perl
use strict;
use CGI qw/:standard/;
use CGI::Pretty qw/:standard/;
use CGI::Carp qw/fatalsToBrowser/;
print header(-type=>'audio/x-mpegurl',-expires=>'now');
printf "#EXTM3U\n";
printf "#EXTINF:-1,Some ACDC song\n";
printf "http://www.mywebserver/MP3/ACDC.ogg\n";
printf "#EXTINF:-1,Some Pink Floyd Song\n";
printf "http://www.mywebserver.com/MP3/PinkFloyd.ogg\n";