2011-10-28 18 views
1

私の生のフォルダのmp3である入力ストリームを取得してから、生のフォルダに書き戻そうとしています(これは馬鹿だと思いますが、私はそれをやりたがっています)ファイルが見つかりません、myFile.mp3。私が間違っているアイデアは?入力ストリームからアンドロイドでファイルに書き込みますか?

try 
     { 
      File f=new File("android.resource//com.apps/raw/myFile.mp3"); 
      InputStream myRawResource = context.getActivity().getResources().openRawResource(mp3ID); 
      OutputStream out=new FileOutputStream(f); 
      byte buf[]=new byte[1024]; 
      int len; 
      while((len=myRawResource.read(buf))>0) 
      out.write(buf,0,len); 
      out.close(); 
      myRawResource.close(); 
    } 
      catch (IOException e){  
       //error 
       } 

答えて

-1

資源ので、これを行うことはできませんが、実行時に、読み取り専用で、APKに格納されており、コンパイル時にRに含めるためにコンパイルする必要があろう。

0

rawとassetsフォルダをAndroidに書き込むことはできません。あなたの中のファイルを保存し、コンパイル時に、アプリケーションの静的ファイルを保存したい場合は :

編集:

Android documentation

私は、キーフレーズ(ドキュメントからヒントを)コピープロジェクトres/raw /ディレクトリ。 openRawResource()でR.rawを渡して開くことができます。リソースID。このメソッドは、ファイルの読み込みに使用できるInputStreamを返します(ただし、元のファイルに書き込むことはできません)。

+0

実行時にファイルを読むことができればそれは素晴らしいですが、サウンドプールで入力ストリームを使用するにはどうすればよいですか? – panthro

+0

私はSoundPoolクラスを使用していませんが、これはあなたに役立つと思います:[オーディオ再生from raw resorce](http://www.barebonescoder.com/2010/06/android-development-audio-playback-safely/) – kameny

関連する問題