在android有關語音的應用中,咱們可能須要錄音的長度,這個長度很好獲取,只要在剛剛開始錄音的時候獲取本地時間,錄音結束的時候獲取本地時間,以後一減就能夠獲得他的時間長度。java
代碼:first = (int)(System.currentTimeMillis()/1000);//當點擊錄音的時候獲取本地時間,除以1000獲得時間單位是秒,不然是毫秒。android
second = (int)(System.currentTimeMillis()/1000);//錄音結束的時候獲取本地時間
thrid = second - first;//先後一減獲得錄音音頻的時長
web
固然本文重點固然不是爲了說這個問題,咱們關注的是直接給你一段音頻,你如何獲得他的時長。ide
下面直接貼出源碼; 經過這個方法你能夠得到須要音頻的時長spa
private String gettime(String string) { //使用此方法能夠直接在後臺獲取音頻文件的播放時間,而不會真的播放音頻 MediaPlayer player = new MediaPlayer(); //首先你先定義一個mediaplayer try { player.setDataSource(string); //String是指音頻文件的路徑 player.prepare(); //這個是mediaplayer的播放準備 緩衝 } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } catch (IllegalStateException e) {e.printStackTrace(); } catch (IOException e) {e.printStackTrace(); } player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {//監聽準備 @Override public void onPrepared(MediaPlayer player) { int size = player.getDuration(); String timelong = size / 1000 + "''"; } }); double size =player.getDuration();//獲得音頻的時間 String timelong1 = (int) Math.ceil((size / 1000)) + "''";//轉換爲秒 單位爲'' player.stop();//暫停播放 player.release();//釋放資源 return timelong1; //返回音頻時間 // TODO Auto-generated method stub }