私はAndroidアプリで(キャッシュディレクトリに)MIDIファイルを動的に生成しています。
生成後、同じアプリ内でMediaPlayerを使用してファイルを再生します。
アプリを初めて実行するときは、ファイルがキャッシュディレクトリにある必要があります(アプリがクラッシュします)。ファイルマネージャーを使用してダミーファイルを最初に配置すると、エミュレーターで機能します。どうすればこれを回避できますか?
ファイルを必要とせずに、初めてタブレットでアプリを実行する必要があります。
私は今これらのコマンドを使用しています:
try {
filePath = getCacheDir() + "/optimuse" + song + ".mid";
file = new File(filePath);
inputStream = new FileInputStream(file);
if (inputStream.getFD().valid()) {
System.out.println("Valid!");
}
} catch (Exception e1) {
e1.printStackTrace();
System.exit(-1);
}
try {
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(inputStream.getFD());
inputStream.close();
} catch (Exception e1) {
e1.printStackTrace();
System.exit(-1);
}
try {
mediaPlayer.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
これを回避する方法はありますか?
ありがとう!