*.mp3 destroy

0

gdzie zmienic znak by przestal dzialac plik mp3 ?

tak bym mogl potem ort! nastepna zmiana dzialanie pliku

0

Hmm a próbowałeś pokombinować? :-)

0

no <ort>na razie </ort>jestemn na 12 znaku i nic zlego sie nie dzieje
chcailbym znalezc mjsce ort! jest np. dlugosc muzyki

0

Trudno ci będzie rozwalić plik mp3, gdyż składa się on z wielu niezależnych od siebie ramek. rozwalisz jedną ramkę, to odtwarzacz pomija ją i bierze następne.

0

ok a jakbym przekonwertowal to na wav albo cos takeigo to bym mogl tak zrobic ?

chche <ort>po prostu</ort> zrobic cos takiego by zapisac na cd program i pliki dzwiekowe tak by same nie dzialaly a za pomoca programu tak

0

W Wavie jak pomieszasz w odpowiednich polach nagłówka, wtedy utrudnisz życie. Oczywiście będzie można to wczytać do programu do obróbki dźwięku jako Raw PCM, odciąć trzask wynikający ze starego nagłowka i nagrać na nowo. Nagłowek wav podawałem na forum, szukaj TWaveHeader.

0
  AssignFile(FromF, '1.mp3');
    Reset(FromF, 1);
    begin
      AssignFile(ToF, '2.mp3');
      Rewrite(ToF, 1);
      repeat
        BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
         tek:=buf;
         tek:=koduj_not(tek);
         for c:=0 to length(tek)-1 do
          begin
           buf[c]:=tek[c];
          end;
        BlockWrite(ToF, Buf, NumRead, NumWritten);
      until (NumRead = 0) or (NumWritten <> NumRead);
      CloseFile(FromF);
      CloseFile(ToF);

czy da sie to troche prosciej napisac bo troche wolno dziala

czy do tabeli (of char) da sie wpisac stringa szybciej niez w <ort>pentli </ort>for ?

0

przecież obrabiasz kilka MB dnych - jakim cudem to ma działać szybko?
poza tym robisz kilka błędów (zakładam, że buf : array[0..ileśtam] of byte):

AssignFile(FromF, '1.mp3');
      Reset(FromF, 1);
      begin
         AssignFile(ToF, '2.mp3');
         Rewrite(ToF, 1);
         repeat
            BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
             for c:=0 to length(buf)-1 do buf := not buf[i];

            BlockWrite(ToF, Buf, NumRead, NumWritten);
         until (NumRead = 0) or (NumWritten <> NumRead);
         CloseFile(FromF);
         CloseFile(ToF); 
0

for c:=0 to length(buf)-1 do
begin
buf[c]:=not buf[c];
end;

po drugim okrazeniu wartosc c:= -166700
czemu?

1 użytkowników online, w tym zalogowanych: 0, gości: 1