Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Łączenie plików *.wav
jakub.drag
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 9
Dołączył: 11.10.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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...


--------------------
Podchodź pozytywnie do swojego kodu :)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
osl
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

Ostrzeżenie: (0%)
-----


wklep w google "wav join php", w angielskim - jeden z pierwszych linków ma gotowca, lekko przerobić tylko...
Go to the top of the page
+Quote Post
jakub.drag
post
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 9
Dołączył: 11.10.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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.

Ten post edytował jakub.drag 4.02.2011, 19:47:04


--------------------
Podchodź pozytywnie do swojego kodu :)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 11:17