- 見ID3或MP3 file structure如果這是從文件丟失。
- 如果不對音頻流進行重新編碼,您無法改變比特率之類的內容。您可以更改ID3中的信息,如歌曲標題和藝術家。
- 不,不過,如果沒有這些天,你不可能找到許多人。
- 取決於您對文件所做的操作。如果您只是更改ID3中的信息,我不確定您是否確實可以使其無法播放(儘管可能會損壞它,以至於它不是識別的ID3標頭,它將無法播放)。
你可能會想看看Java ID3 Tag Library。
更新:在你的評論中,你說你只是想能夠做到這一點,所以MP3不能播放,然後有能力扭轉它。在這種情況下,您可以僅使文件中的某些字節與某些值異或,以使其無法播放。然後使用相同字節的相同值重複該過程,並將返回到正常狀態。下面是一個例子,描述了34的第一個65536字節:
RandomAccessFile raf = new RandomAccessFile("my.mp3", "rw");
byte[] buf = new byte[65536];
int len = raf.read(buf);
for (int i = 0; i < len; i++) {
buf[i] ^= 34;
}
raf.seek(0);
raf.write(buf);
raf.close();
這使得mp3無法播放。重複它可以再次播放。
嗨,我只是想改變mp3文件信息,以便它不能播放,但是當我想播放它只是取代原來的內容,以便它可以播放。 – Hitendra 2011-04-27 11:08:57
我用一種方法更新了答案。 – WhiteFang34 2011-04-27 11:27:16
我已經試過你的代碼,但它播放MP3文件。我可以追加與緩衝區,MP3無法播放。 – Hitendra 2011-04-27 12:12:30