Уже который день сижу, все никак вкурить не могу.
Скриптик по типу wav2png.
1. maragon - 22 Июля, 2015 - 22:40:16 - перейти к сообщению
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- class Waveform {
- public static function create($audio_file, $user_id, $file_id, $invert = false) {
- $width = "500";
- $height = "100";
- $color = "#f01256";
- $ROOT = ROOT_DIR;
- $ATTACHS = $ROOT."uploads/".$user_id."/";
- $file = $ATTACHS.$filename;
- exec($ROOT."/lame ".$ATTACHS.$file."_o.mp3 -f -m m -b 16 --resample 8 ".$ATTACHS.$file.".mp3 && ".$ROOT."/lame --decode ".$ATTACHS.$file.".mp3 ".$ATTACHS.$file.".wav");
- $filename = "{$file}.wav";
- $byte = $bits / 8;
- if ($channels == 2) {
- $skip = 40;
- }
- else {
- $skip = 80;
- }
- for ($i = 0; $i < $byte; $i++) {
- }
- switch ($byte) {
- case 1:
- $data[] = self::getAmplitude($bytes[0], $bytes[1]);
- break;
- case 2:
- $temp = 0;
- }
- else {
- $temp = 128;
- }
- break;
- }
- }
- $v = (int) ($data[$d] / 255 * $height);
- $x = $d / DETAIL;
- if ($invert) {
- } else {
- }
- }
- return 1;
- } else {
- return 0;
- }
- }
- private static function getAmplitude($byte1, $byte2) {
- return ($byte1 + ($byte2 * 256));
- }
- private static function html2rgb($input) {
- );
- }
- }
- ?>
Но есть как всегда одно Но!
Если смотреть по скрипту:
Файлы перекодирует нормально через LAME в .wav формат.
А дальше начинается "ахтунг".. То ли дело в путях, то ли я чего-то не так указал.
Если подставить в скрипт название уже сгенерированного .wav файла от руки вот в это место [ $handle = fopen($filename, "r"); ] - то при обновлении страницы происходит генерация изображения + .wav'ку удаляет, как и задуманно в скрипте (т.е. все работает).
В основном ругается так:
(не может открыть, хотя файл есть и права стоят 777)
fopen(D:\AppServ\www/uploads/39/d917f82583b7bac18e2b.wav) [function.fopen]: failed to open stream: No such file or directory in ...
(не может удалить, хотя файл есть и права стоят 777, если воткнут @ то удалит файл)
Warning: unlink(D:\AppServ\www/uploads/39/b763a2f212b89ad4e840.mp3) [function.unlink]: No such file or directory in
Куда копать?