private void startSound(String filename) throws IOException{
AssetFileDescriptor afd = getAssets().openFd(filename);
MediaPlayer player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
player.prepare();
player.start();
}
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.addForLearning:
break;
case R.id.music:
String words = mainDataTextView.getText().toString();
String con = "voice/"+words+".mp3";
try {
startSound(con);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
爲什麼S tring in openFd(filename)
不起作用?我得到FileNotFoundException
。如果我輸入openFd("voice/song.mp3")
所有的工作,但它不適合我。爲什麼openFd(文件名)不適用於String?
當你執行代碼時,你目前的工作目錄是什麼? –
如何調用'startSound()'?它具有什麼價值?你可以發佈該代碼嗎? – pathfinderelite
@pathfinderelite我更新案例。在方法OnClick中調用startSound()。值是String。 –