今天突然觉得张艺兴的Honey很好听,于是就想做成手机铃声,我又没会员,没法下载,于是从qq上的Mv扒下来了一段,想做成铃声。
奈何网上没有太好的平台,有一些好的平台,但是有收费限制,还有一些免费的平台,由于自身服务器的原因,网速很慢,于是就想用java自己写一个。
无非就是读取字节流,然后输出字节流罢了。
需要注意的换算单位
1byte=8bit
1kbps=1024bps
bps指bits per second,即传输速度,表示为比特/秒
下面上代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public class MusicSplit { public static void main(String[] args) throws IOException { FileInputStream fis=new FileInputStream(new File("C:\\Users\\kitchen\\Desktop\\Honey-张艺兴.mp3")); FileOutputStream fos=new FileOutputStream(new File("C:\\Users\\kitchen\\Desktop\\Honey-张艺兴-00.mp3")); int start=10; int stop=20; int bps=124; cutMusic(start,stop,bps,fis,fos); } public static void cutMusic(int start,int stop,int bps,FileInputStream fis,FileOutputStream fos) throws IOException { int begin=(start-1)*bps*1024/8; int end=stop*bps*1024/8; int len=0,total=0; byte[] bytes=new byte[1024]; while((len=fis.read(bytes))!=-1) { total+=len; if(total<begin) continue; if(total>end) break; fos.write(bytes, 0, len); } } }
|