Android:未输入try块

Android:未输入try块,android,Android,我从下载了一个WavFile包 我想用它读取给定*.wav文件的数据块。 因此,我在我的android项目中创建了一个新的包,并添加了这些类文件,然后在我的android项目中使用。代码片段如下所示: File f=new File("/sdcard/", "a.wav"); Log.d(TAG, "File found"); WavFile fp; try { fp = WavFile.openWavFi

我从下载了一个WavFile包

我想用它读取给定*.wav文件的数据块。 因此,我在我的android项目中创建了一个新的包,并添加了这些类文件,然后在我的android项目中使用。代码片段如下所示:

          File f=new File("/sdcard/", "a.wav");
          Log.d(TAG, "File found");

            WavFile fp;
    try {
        fp = WavFile.openWavFile(f);
        Log.d(TAG, "Wav file found");
                    //Displays info about wav file
        fp.display();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (WavFileException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
我的程序中没有错误,但是当执行时,out只是第一个日志消息,而不是try块中的日志消息。这里也不例外。谁能告诉我这有什么问题吗。或者提供另一种从wav文件检索数据的方法


提前感谢

您的文件位置不正确

按如下方式从SD卡打开文件:

File file = new File(Environment.getExternalStorageDirectory() + "a.wav");
  MediaPlayer mp = MediaPlayer.create(this, R.raw.a);
  mp.start();
或者将文件a.wav放入项目的/res/raw文件夹中 并在MediaPlayer中打开它,如下所示:

File file = new File(Environment.getExternalStorageDirectory() + "a.wav");
  MediaPlayer mp = MediaPlayer.create(this, R.raw.a);
  mp.start();

在这两个异常中都放入日志,并在发生IOException时为exception放入catch块。你知道这可能是什么原因吗?通过调用新文件,它使用指定的目录路径和文件名构造了一个新文件,这并不意味着它有wav内容,因此如果你的a.wav文件不包含数据,你的OpenWAV文件尝试从文件头获取wav详细信息。所以它抛出IO异常,按照我的理解,阅读openWavFile方法说明,你会得到idea@rajparaHey new创建了一个新文件它是真的,那么我如何获得SD卡上保存的文件a.wav的引用我尝试了这个文件dir=Environment.getExternalStorageDirectory;文件f=新文件目录,a.wav;但是他的工作不起作用。。。请告诉我如何访问SD卡中的文件或/res/raw/folderis中的文件您的a.wav文件存储在SD卡的根目录下或任何文件夹中??谢谢回复,但我不是通过mediaplayer打开它,我需要将其作为文件类型的对象打开。第一个也是IOException。你试过调试你的应用程序吗?哪一行是例外?请使用另一个wav文件重试。也许问题出在文件中,嘿,我无法获取引用本身。File dir=Environment.getExternalStorageDirectory;文件f=新文件目录,a.wav;如果f、 存在Log.dTAG,文件不存在;输出文件不存在,这意味着我无法获取引用。或者,请告诉我是否有方法获取/res/raw/folder///中存在的文件的引用。嘿,我得到了解决方案,实际上我已将文件存储在/mnt中,而不是/sdcard中,因此,我随后将文件从mnt推到/mnt/sdcard,现在第一个选项工作正常。非常感谢