Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łączenie plików *.wav
Forum PHP.pl > Forum > PHP
jakub.drag
Witajcie,
i znowu mam problem sad.gif
koniecznie potrzebuję "połączyć" kilka plików z rozszerzeniem *.wav, tak aby po konwersji utworzył się kolejny, np. out.wav, ale aby tamte się nie usunęły. Wszystkie pliki są na serwerze.
Jak by ktoś miał co kolwiek, proszę pisać.
PS. Znalazłem jakieś lame, ale to jest kombajn, a ja potrzebuję jakiegoś prościutkiego skryptu...
osl
wklep w google "wav join php", w angielskim - jeden z pierwszych linków ma gotowca, lekko przerobić tylko...
jakub.drag
Dzięki osl, znalazłem nakie coś:
  1. <?php
  2.  
  3. $content = joinwavs(array('a.wav','l.wav'));
  4. header('Content-Type: audio/x-wav');
  5. //echo $content;
  6.  
  7.  
  8.  
  9. function joinwavs($wavs){
  10. $fields = join('/',array( 'H8ChunkID', 'VChunkSize', 'H8Format',
  11. 'H8Subchunk1ID', 'VSubchunk1Size',
  12. 'vAudioFormat', 'vNumChannels', 'VSampleRate',
  13. 'VByteRate', 'vBlockAlign', 'vBitsPerSample' ));
  14. $data = '';
  15.  
  16. foreach($wavs as $wav){
  17. $fp = fopen($wav,'rb');
  18. $header = fread($fp,36);
  19. $info = unpack($fields,$header);
  20. // Destination file to be writed
  21. $destfile = "destination.wav";
  22. // read optional extra stuff
  23. if($info['Subchunk1Size'] > 16){
  24. $header .= fread($fp,($info['Subchunk1Size']-16));
  25. }
  26. // read SubChunk2ID
  27. $header .= fread($fp,4);
  28. // read Subchunk2Size
  29. $size = unpack('vsize',fread($fp,4));
  30. $size = $size['size'];
  31. // read data
  32. $data .= fread($fp,$size);
  33. $filecontent = $header.pack('V',strlen($data)).$data;
  34. // Write the output data in a seperate file
  35. $fp1 = fopen($destfile,"wb");
  36. fwrite($fp1,$filecontent);
  37. fclose($fp1);
  38.  
  39.  
  40. }
  41. }
  42.  
  43. ?>

Na samym początku podane sa pliki które mają być połączone. Sktypt generuje plik destination.wav ale jak próbuje go odtworzyc, to program mówi że w pliku nic nie ma, albo jest uszkodzony...
Co robićquestionmark.gif Pomóżcie, prosz...



Ok, poradziłem sobię. Dzięki przedewszystkim osl. Do zamknięcia.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.