2013-05-03 36 views
0

的音頻/視頻文件請任何人都可以幫助我從Raw或Assets Folders獲取此應用程序播放音頻/視頻文件,而不是從/ SDCard /播放。Android應用程序/來自RAW或Assets文件夾而不是/ SDCard/

我應該在下面的代碼中更改什麼?

這是Tutorial的代碼。

關於。

import java.io.File; 
import java.io.FilenameFilter; 
import java.util.ArrayList; 
import java.util.HashMap; 

public class SongsManager { 
// SDCard Path 

@SuppressLint("SdCardPath") 

final String MEDIA_PATH = new String("/sdcard/"); 

private ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>(); 

// Constructor 
public SongsManager() { 

} 

/** 
* Function to read all mp3 files from sdcard and store the details in 
* ArrayList 
* */ 
public ArrayList<HashMap<String, String>> getPlayList() { 
    File home = new File(MEDIA_PATH); 

    if (home.listFiles(new FileExtensionFilter()).length > 0) { 
     for (File file : home.listFiles(new FileExtensionFilter())) { 
      HashMap<String, String> song = new HashMap<String, String>(); 
      song.put(
        "songTitle", 
        file.getName().substring(0, 
          (file.getName().length() - 4))); 
      song.put("songPath", file.getPath()); 

      // Adding each song to SongList 
      songsList.add(song); 
     } 
    } 
    // return songs list array 
    return songsList; 
} 

/** 
* Class to filter files which are having .mp3 extension 
* */ 
class FileExtensionFilter implements FilenameFilter { 
    public boolean accept(File dir, String name) { 
     return (name.endsWith(".mp3") || name.endsWith(".MP3")); 
    } 
} 
} 

回答

0

U可以試試這個從資產文件夾中加載文件..
考慮有鈴聲文件夾內的文件夾資產然後在活動中使用

AssetManager assetManager = this.getResources().getAssets(); 
String[] files = null; 
try { 
files = assetManager.list("ringtone"); //ringtone is folder name 
} catch (Exception e) { 
Log.e(LOG_TAG, "ERROR: " + e.toString()); 
} 


,這樣你們從資產文件夾獲取文件未來獲取文件名和文件傳遞名稱列表

0

播放音頻從原始文件夾:

mediaPlayer = MediaPlayer.create(this, R.raw.song.mp3); 

播放音頻從資產文件夾:

AssetFileDescriptor afd = getAssets().openFd("Song.mp3"); 
player = new MediaPlayer(); 
player.setDataSource(afd.getFileDescriptor()); 
player.prepare(); 
player.start(); 
相關問題