Android:未输入try块
我从下载了一个WavFile包 我想用它读取给定*.wav文件的数据块。 因此,我在我的android项目中创建了一个新的包,并添加了这些类文件,然后在我的android项目中使用。代码片段如下所示: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
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,现在第一个选项工作正常。非常感谢