いくつかのオーディオ ファイルを Eclipse プロジェクトの raw フォルダーから sd カードにコピーできる Android アプリケーションを作成したいと考えています。ファイルはSDカードにコピーされますが、次のメッセージ「プレーヤーはこのタイプのオーディオファイルをサポートしていません」でメディアプレーヤーが再生できません。ファイルが破損しているようですが、理由はわかりません。これは私のコードです:
Button copy = (Button) findViewById(R.id.button2);
copy.setOnClickListener(new View.OnClickListener(){
public void onClick(View view) {
File sdCard, directory = null;
String nombreMP3 = "audio.mp3";
BufferedInputStream entrada = null;
BufferedOutputStream salida = null;
int len=0;
sdCard = Environment.getExternalStorageDirectory();
directory = new File( sdCard.getAbsolutePath() + "/CarpetaAplicacion2");
if (!directory.exists()){
directory.mkdir();
}
File f = new File(directory, nombreMP3);
try {
entrada = new BufferedInputStream(getResources().openRawResource(R.raw.dignidad));
salida = new BufferedOutputStream((new FileOutputStream(f)),4096);
byte[] buff = new byte[4096];
while ((len=entrada.read()) > 0){
synchronized (buff){
salida.write(buff,0,len);
salida.flush();}
}
} catch (IOException ex) {
if( entrada != null){
try {
entrada.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
if (salida != null) {
try {
salida.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
}
finally{
if( entrada != null){
try {
entrada.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
if (salida != null) {
try {
salida.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}