2011-04-29 522 views

回答

2

你必須做更多的事情比刪除標題,使一個MP3無法播放。如果你把我的other answer你的問題,並將其應用到整個文件應該有沒有辦法可以發揮:

RandomAccessFile raf = new RandomAccessFile("input.mp3", "rw"); 
byte[] buf = new byte[65536]; 
long pos = 0; 
int len; 
Random random = new Random(34); 
while ((len = raf.read(buf)) != -1) { 
    for (int i = 0; i < len; i++) { 
     buf[i] ^= random.nextInt(); 
    } 
    raf.seek(pos); 
    raf.write(buf); 
    pos = raf.getFilePointer(); 
} 
raf.close(); 

這將異或文件中的每個字節。我在其他答案中建議的唯一原因只有第一個64k是因爲您使用的是Android設備而提供的性能。對我來說,這使得它在我的桌面上無法播放。如果整個文件不適合你,那麼我懷疑你做了其他錯誤。如果每個字節都像這樣改變,那麼它將無法播放原始音樂。您可以再次運行此操作來撤消它,並使mp3可以再次播放。

+0

嗨thankx每個人的回答。如果我已經做了第一個64kb的XOR,那麼它適用於桌面,但在Android的歌曲播放噪音。 – Hitendra 2011-04-30 05:03:38

+0

以上答案對桌面有幫助。 – Hitendra 2011-04-30 05:05:42

+0

嗯,有趣。 Android設備必須仍然嘗試播放它,即使它是混亂的。我更新了隨機的答案(使用種子使其可逆)輸出更好,這可能有助於使其無法播放。你想通過讓它變得無法播放來完成什麼? – WhiteFang34 2011-04-30 05:19:41

0

的MP3以幀組織,所以您還是能發揮他們即使你只有其中的一部分。