2011-04-27 195 views
0

以下是我的疑問。如何更改mp3文件中的標題信息?

1.在mp3文件頭字段中有什麼信息?

2.如果我需要改變比特率,長度,是否有可能以編程方式改變。

3.是否有必要讓所有的mp3都包含id3標籤?

4.is there there anyhow that if we change some info in mp3 file it can not be played and if I redo it can play?

問候, hitendrasinh gohil

回答

4
  1. ID3MP3 file structure如果這是從文件丟失。
  2. 如果不對音頻流進行重新編碼,您無法改變比特率之類的內容。您可以更改ID3中的信息,如歌曲標題和藝術家。
  3. 不,不過,如果沒有這些天,你不可能找到許多人。
  4. 取決於您對文件所做的操作。如果您只是更改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無法播放。重複它可以再次播放。

+0

嗨,我只是想改變mp3文件信息,以便它不能播放,但是當我想播放它只是取代原來的內容,以便它可以播放。 – Hitendra 2011-04-27 11:08:57

+0

我用一種方法更新了答案。 – WhiteFang34 2011-04-27 11:27:16

+0

我已經試過你的代碼,但它播放MP3文件。我可以追加與緩衝區,MP3無法播放。 – Hitendra 2011-04-27 12:12:30