そこでファイル名を引数に方法を色々と考えました。
以下のサンプルではAssetフォルダ内のMP3ファイルを読み取ります。
private void XXX(String ファイル名){
try {
AssetFileDescriptor afd = getAssets().openFd(ファイル名+".mp3");
mMediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
mMediaPlayer.prepare();
} catch (IllegalArgumentException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
}
RAWフォルダも動的に読み取ることが可能ですが推奨されていません。
AssetやRawフォルダでなく、SRC内のリソースを読み取る事もできます。
画像の場合は
SRC/パッケージ/リソースフォルダXに画像ファイルが有る場合
bmp= BitmapFactory.decodeStream(getClass().getResourceAsStream(リソースフォルダX/ファイル名".qng"));
AssetやRawを使用する場合はファイル名に日本語を使用できません。※SRC下なら可能
0 件のコメント:
コメントを投稿