2014-01-05 3 views
0

Я хочу получить длительность выбранного аудиофайла из хранилища. До сих пор я достиг имени аудиофайла. Но я хочу получить продолжительность mp3-файла. Как я могу это сделать? При просмотре аудиофайлов они отображаются в списке, а на правой стороне файла - продолжительность. Я хочу получить строку продолжительности. Но я не знаю, как это сделать.Android получить продолжительность выбранного аудиофайла из хранилища

Это код, я работаю над:

public void onActivityResult(int requestCode, int resultCode, Intent data) { 

    if (resultCode == RESULT_OK) { 

     if (requestCode == SELECT_AUDIO) 
     { 
      System.out.println("SELECT_AUDIO"); 
      Uri selectedAudioUri = data.getData(); 
      uploadFilePath = getPath(selectedAudioUri); 
      System.out.println("SELECT_AUDIO Path : " + uploadFilePath); 
      etSongTitle.setText(uploadFilePath); 

     } 

    } 
} 

У вас есть какие-то идеи, чтобы получить продолжительность? Помощь очень благодарна.

+0

вы пытались getduration – user2511882

+0

@ user2511882 не, где я могу получить срок? – Dunkey

ответ

4

Вы можете использовать MediaMetadataRetriever для получения продолжительности песни. Используйте METADATA_KEY_DURATION в сочетании с funciton extractMetadata().

// load data file 
    MediaMetadataRetriever metaRetriever = new MediaMetadataRetriever(); 
    metaRetriever.setDataSource(filePath); 

    String out = ""; 
    // get mp3 info 

    // convert duration to minute:seconds 
    String duration = 
    metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION); 
    Log.v("time", duration); 
    long dur = Long.parseLong(duration); 
    String seconds = String.valueOf((dur % 60000)/1000); 

    // close object 
    metaRetriever.release(); 

Get mp3 duration in android

+0

Я попробую это спасибо. – Dunkey

+0

Добро пожаловать :) Примите решение, если оно сработает для вас;) –

Смежные вопросы