2012-02-18 26 views
0

行,所以我在我的項目 我的「資產」文件夾中有一個Woohoo.mp3包裝.apk文件後還找我幹什麼就居住在資產文件夾如何獲取包裝在apk文件中的音頻文件,以便在android應用中播放?

audioPlayer(「文件:/// android_assets /哇噢.MP3" );

audioPlayer( 「文件://android_assets/Woohoo.mp3」);

沒有工作...... 這裏是我的audioPlayer方法:

公共無效audioPlayer(字符串文件名){// 設立的MediaPlayer

MediaPlayer mp = new MediaPlayer(); 
    Uri uri = Uri.parse(fileName); 
    try { 
     AssetManager manager = getBaseContext().getAssets(); 
     AssetFileDescriptor descriptor = manager.openFd(fileName); 
     long start = descriptor.getStartOffset(); 
     long end = descriptor.getLength(); 
     mp.setDataSource(descriptor.getFileDescriptor(), start, end); 
     //File file = new File(fileName); 
     //FileInputStream fis = new FileInputStream(file); 
     //mp.setDataSource(getBaseContext(),uri); 
     //mp.setDataSource(fis.getFD()); 
     mp.prepare(); 
     mp.start(); 

    } catch(FileNotFoundException e){ 
     Toast.makeText(getBaseContext(), 
       e.getMessage(), 
       Toast.LENGTH_SHORT).show(); 
    } catch (IllegalArgumentException e) { 

    } catch (IllegalStateException e) { 

    } catch (IOException e) { 

    } 

    mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 

     @Override 
     public void onCompletion(MediaPlayer mp) { 
      // TODO Auto-generated method stub 
      mp.release(); 
     } 

    }); 
    mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      mp.start(); 
     } 
    }); 
}; 

}

我已經一直在看這個網站和一些其他論壇幾個小時,並嘗試了幾種方法,沒有人爲我工作....我想知道我在這裏做錯了...謝謝

回答

0

對於使用Assets,你必須只給出FileName而不是FilePath。

嘗試只使用Woohoo.mp3

+0

謝謝你的工作.... !!! – ray 2012-02-18 09:11:20

相關問題