प्राप्त करें मैंने एक वॉयस रिकॉर्डर ऐप बनाया है, और मैं एक सूचीदृश्य में रिकॉर्डिंग की अवधि दिखाना चाहता हूं। मैं इस तरह के रिकॉर्डिंग को सहेजता हूं:ऑडियो फ़ाइल की अवधि
MediaRecorder recorder = new MediaRecorder();
recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
folder = new File(Environment.getExternalStorageDirectory()
+ File.separator + "Audio recordings");
String[] files = folder.list();
int number = files.length + 1;
String filename = "AudioSample" + number + ".mp3";
File output = new File(Environment.getExternalStorageDirectory()
+ File.separator + "Audio recordings" + File.separator
+ filename);
FileOutputStream writer = new FileOutputStream(output);
FileDescriptor fd = writer.getFD();
recorder.setOutputFile(fd);
try {
recorder.prepare();
recorder.start();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
Log.e(LOG_TAG, "prepare() failed");
e.printStackTrace();
}
मैं इस फ़ाइल के सेकंड में अवधि कैसे प्राप्त कर सकता हूं?
अग्रिम धन्यवाद
--- संपादित मैं यह काम कर रहा है, मैं MediaPlayer.getduration() MediaPlayer.setOnPreparedListener अंदर() विधि तो यह वापस आ 0.
की कोशिश की है कि का उपयोग कर मानव पठनीय प्रारूप करने के लिए मिलीसेकंड में बदल सकते हैं लेकिन यह हमेशा किसी कारण – Simon
के लिए 0 देता है कोई फर्क नहीं पड़ता कि मैं इसे काम कर रहा हूँ! मैंने MediaPlayer.setOnPreparedListener विधि में MediaPlayer.getDuration() को कॉल किया है और यह 0 – Simon