我目前在android項目的原始文件夾中有一組媒體文件,它們在使用mediaplayer類進行調用時可以快速加載並播放。我需要添加這些文件的更多變體並將它們歸類到文件夾中,但顯然原始文件夾不支持文件夾。我能否從資產文件夾快速加載這些文件並使用mediaplayer播放它們?如果是這樣,怎麼樣?播放位於資產文件夾中的媒體文件
4
A
回答
6
我有這種方法,通過擴展的文件夾中返回資源文件夾內的所有文件:
public static String[] getAllFilesInAssetByExtension(Context context, String path, String extension){
Assert.assertNotNull(context);
try {
String[] files = context.getAssets().list(path);
if(StringHelper.isNullOrEmpty(extension)){
return files;
}
List<String> filesWithExtension = new ArrayList<String>();
for(String file : files){
if(file.endsWith(extension)){
filesWithExtension.add(file);
}
}
return filesWithExtension.toArray(new String[filesWithExtension.size()]);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
,如果你把它用:
getAllFilesInAssetByExtension(yourcontext, "", ".mp3");
這將返回資產文件夾根目錄中的所有mp3文件。
,如果你把它用:
getAllFilesInAssetByExtension(yourcontext, "somefolder", ".mp3");
,這將在「somefolder」搜索mp3文件
現在你有列表中的所有文件,打開你需要這樣的:
AssetFileDescriptor descriptor = getAssets().openFd("myfile");
要播放文件只需要:
MediaPlayer player = new MediaPlayer();
long start = descriptor.getStartOffset();
long end = descriptor.getLength();
player.setDataSource(this.descriptor.getFileDescriptor(), start, end);
player.prepare();
player.setVolume(1.0f, 1.0f);
player.start();
希望這會有所幫助
5
這是一個可以從資產文件夾播放媒體文件的功能。你還可以用水木清華這樣使用它play(this,"sounds/1/sound.mp3");
private void play(Context context, String file) {
try {
AssetFileDescriptor afd = context.getAssets().openFd(file);
meidaPlayer.setDataSource(
afd.getFileDescriptor(),
afd.getStartOffset(),
afd.getLength()
);
afd.close();
meidaPlayer.prepare();
meidaPlayer.start();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
0
您可以將您的mp3文件放在:res/raw文件夾中作爲myringtone.mp3或作爲您的願望。
MediaPlayer mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.myringtone);
mediaPlayer.start();
相關問題
- 1. Android如何從資產文件夾中播放媒體文件(.mp4)
- 2. 從資產文件夾播放MP3媒體播放器拋出異常
- 3. Android媒體播放器文件位置
- 4. Android ffmpeg庫能夠播放位於資產文件夾中的視頻
- 5. 使用位於原始文件夾或資產文件夾中的文件
- 6. 如何從資產文件夾的子文件夾中播放視頻android
- 7. 在Jframe中播放媒體文件java
- 8. 從資產中播放音頻文件
- 9. 視頻通過Android資產文件夾中的意圖播放
- 10. 在文件夾中保存媒體播放器視頻
- 11. 如何在android上的webview資產文件夾中播放mp3文件?
- 12. 播放位於隨機文件夾/子文件夾中的第一個視頻
- 13. 如何自動播放媒體文件?
- 14. 播放媒體文件時出錯
- 15. 如何播放媒體文件
- 16. Android - 從資產文件夾播放聲音的問題
- 17. 帶有Firebase多媒體文件的Android媒體播放器
- 18. Android原始文件夾媒體播放器
- 19. 將代碼/資產文件夾放入/應用於CodeIgniter中
- 20. 如何在NDK中加載視頻文件(位於資產文件夾中)?
- 21. 如何播放位於flex中不同文件夾的聲音?
- 22. 在網站上播放聲音文件媒體播放器
- 23. 安卓媒體播放器不會播放音頻文件
- 24. 媒體播放器同時播放多個文件
- 25. 無法通過javafx 2.2媒體播放器播放mp3文件
- 26. 我可以讓Silverlight媒體播放器播放.Vox文件嗎?
- 27. 使用Android媒體播放器播放m3u8音頻文件
- 28. 如何循環播放媒體播放器文件?
- 29. 如何更新媒體播放器以播放新文件
- 30. 媒體播放器控件