|
|
|
| Здравствуйте, знатоки пхп! Необходимо проиграть только половину mp3 файла. Может кто знает как это сделать?? Может как-нить можно уменьшить filesize или это делается с помощью специальных классов?
Предполагаемый код:
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type:audio/mpeg" );
$header="Content-Disposition: inline; filename=".basename($file).";";
header($header);
header("Content-Transfer-Encoding: binary");
$handle = fopen($file, "r");
$size = filesize($file);
$contents = fread($handle, $size);
fclose($handle);
// echo "size = ".strlen($contents)*8;
header("Content-Length: $size");
echo $contents;
|
| |
|
|
|
|
|
|
|
для: +(Obelisk
(29.06.2006 в 08:08)
| | Посмотрите статью по ссылке http://www.softtime.ru/info/articlephp.php?id_article=64 (но решения этой проблемы там помоему нет). | |
|
|
|
|
|
|
|
для: cheops
(29.06.2006 в 12:15)
| | Спасибо за ссылку! Еще раз попытаюсь ее хорошо просмотреть.
Жаль, что никто не занимается этой проблемой.. обыдно.. Но все равно спасибо! Обожаю ваши книги! | |
|
|
|
|
|
|
|
для: +(Obelisk
(29.06.2006 в 12:24)
| | mp3, если я не путаю, потоковое аудио. То есть можно попросту отсечь вторую половину файла и первая должна при этом воспроизводиться. Способ варварский и наверняка чем-то череват, но должен вроде как работать. | |
|
|
|
|
|
|
|
для: Loki
(29.06.2006 в 14:01)
| | Вот, вот.. мне тоже говорят, что это легко! и все-таки, что же нужно написать? | |
|
|
|
|
|
|
|
для: +(Obelisk
(29.06.2006 в 14:43)
| | Если взять за основу ваш собстенный код, то примерно так:
<?
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type:audio/mpeg" );
$header="Content-Disposition: inline; filename=".basename($file).";";
header($header);
header("Content-Transfer-Encoding: binary");
$handle = fopen($file, "r");
$size = filesize($file)/2; //берем только половину файла
$contents = fread($handle, $size);
fclose($handle);
// echo "size = ".strlen($contents)*8;
header("Content-Length: $size");
echo $contents;
|
| |
|
|
|
|
|
|
|
для: Loki
(29.06.2006 в 14:01)
| | В хвосте обычно ID3-тэги валяются.... | |
|
|
|
|
|
|
|
для: Trianon
(29.06.2006 в 15:07)
| | Насколько я понимаю, это нужно в целях демонстрации. Так что у тех, кто получит файл полностью все будет на месте. | |
|
|
|
|
|
|
|
для: +(Obelisk
(29.06.2006 в 08:08)
| | Тоже думал над этим.. Перерыл кучу форумов/сайтов... Решение одно http://lame.sourceforge.net/ Если у вас сервер - то считайте проблема решена, если хостинг, то просите хостера, хотя 80% что они откажут... | |
|
|
|
|
|
|
|
для: +(Obelisk
(29.06.2006 в 08:08)
| | Судя по недокачанным (а также варварски порезанным=) ) mp3-шкам, вполне рабочий вариант с отсеканием куска файла. А ID3-теги можно заранее считать, скпировать, а потом дописать в конец получившегося "обрезка". | |
|
|
|
|
|
|
|
для: Киналь
(29.06.2006 в 21:27)
| | Всем большое спасибо! Работает! Даже картинки обрезать можно :). К сожалению не все форматы поддаются варварским методам.. | |
|
|
|