将字符串转换为数据

时间:2014-04-19 20:47:26

标签: android time

我正在获取音频文件的持续时间,将其转换为int,然后将int转换为字符串,然后将字符串转换为类似00:32的字符串。转换后的字符串是正确的,但是将该字符串转换为数据

是一个问题

这是我的代码:

            File file = new File(Environment.getExternalStorageDirectory()+"/MyImages/.audio1.wav");
            MediaPlayer mp = new MediaPlayer();
            FileInputStream fs = null;
            FileDescriptor fd = null;
            try {
                fs = new FileInputStream(file);
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            try {
                fd = fs.getFD();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            try {
                mp.setDataSource(fd);
            } catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalStateException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            try {
                mp.prepare();
            } catch (IllegalStateException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
            int length = mp.getDuration()/1000;
            mp.release();

            String audiotime = String.valueOf(length);

            SimpleDateFormat sdf = new SimpleDateFormat("mmss");
            try {
              Date d = sdf.parse(audiotime);
              textView1.setText(audiotime);
            } catch (ParseException ex) {

            }

1 个答案:

答案 0 :(得分:0)

有两件事,最重要的是,您使用原始字符串作为TextView的文字。您应该执行textView1.setText(d.toString());

之类的操作

其次,你应该使用" mm:ss"作为您的格式,而不是" mmss"。

请注意,您还可以使用format的{​​{1}}功能。这将返回SimpleDateFormat,这可能更合适,因为您只需要StringBuffer表示

来源:android documentation