我正在制作一个音乐播放器应用程序,它将从本地存储中获取歌曲
您需要先读取外部存储:
这可能会帮助您:
public static List<File> getAllMediaFilesOnDevice(Context context) {
List<File> files = new ArrayList<>();
try {
final String[] columns = { MediaStore.Images.Media.DATA,
MediaStore.Images.Media.DATE_ADDED,
MediaStore.Images.Media.BUCKET_ID,
MediaStore.Images.Media.BUCKET_DISPLAY_NAME };
MergeCursor cursor = new MergeCursor(new Cursor[]{context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null, null, null),
context.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, columns, null, null, null),
context.getContentResolver().query(MediaStore.Images.Media.INTERNAL_CONTENT_URI, columns, null, null, null),
context.getContentResolver().query(MediaStore.Video.Media.INTERNAL_CONTENT_URI, columns, null, null, null)
});
cursor.moveToFirst();
files.clear();
while (!cursor.isAfterLast()){
String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
int lastPoint = path.lastIndexOf(".");
path = path.substring(0, lastPoint) + path.substring(lastPoint).toLowerCase();
files.add(new File(path));
cursor.moveToNext();
}
} catch (Exception e) {
e.printStackTrace();
}
return files;
}
1-使用最新的Android API访问共享媒体存储变得复杂
此处记录了最常用的方法:https://developer.android.com/training/data-storage/shared/media
对于kotlin:
val projection = arrayOf(media-database-columns-to-retrieve)
val selection = sql-where-clause-with-placeholder-variables
val selectionArgs = values-of-placeholder-variables
val sortOrder = sql-order-by-clause
applicationContext.contentResolver.query(
MediaStore.media-type.Media.EXTERNAL_CONTENT_URI,
projection,
selection,
selectionArgs,
sortOrder
)?.use { cursor ->
while (cursor.moveToNext()) {
// Use an ID column from the projection to get
// a URI representing the media item itself.
}
}
音频文件,存储在报警/目录、有声读物/目录、音乐/目录、通知/目录、播客/目录和铃声/目录中,以及音乐/目录或电影/目录中的音频播放列表。系统将这些文件添加到MediaStore。音频表。
视频文件有一个示例:https://developer.android.com/training/data-storage/shared/media#query-集合
您可以将其用于更改相关查询参数的音频文件
我的音乐应用程序从外部应用程序启动,使用意向数据作为音乐文件。 我有mp3音频URI,类似这样 file:///storage/emulated/0/Music/Tamil/I(2014)/Ennodu Nee Irundhaal。mp3 如何从媒体获取音频详细信息。标题,媒体。相册,媒体_身份证件
我试图让媒体播放器播放存储在本地/外部存储器中的媒体文件。 媒体文件使用单独的活动下载并存储在本地/外部存储中。有关存储的示例代码,请参阅下面。 对于播放同一文件,我使用。 但是,媒体播放器拒绝播放文件,并且总是以错误(1,)失败。我真的是无能为力,使这个媒体播放器运行,因为我似乎已经做了一切与代码示例内联,使它从本地/外部存储读取文件。 注意:当我替换一个本地文件与一个文件从res/生文件夹,这
我正在为WhatsApp使用Twilio沙箱,当我发送一个图像时,我在webhook中收到的有效负载工作正常,我可以获得图像的url,但不能使用音频文件(语音消息)。 我正面临一个音频问题,如果我从WhatsApp发送语音消息,我的webhook中的有效负载不包括音频URL。 这里是有效载荷: 我希望url媒体如下所示:
本文向大家介绍Android编程实现获取多媒体库视频、音频、图片的方法,包括了Android编程实现获取多媒体库视频、音频、图片的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程实现获取多媒体库视频、音频、图片的方法。分享给大家供大家参考,具体如下: 从媒体库中查找音频、视频、图片文件的相关信息,并获取视频、图片、专辑图片的缩略图 和一些文件操作 更多关于Androi
多媒体 HTML5 前的多媒体需要借助第三方插件,例如 Flash,但是 HTML5 将网页中的多媒体带入了新的一章。 基本用法 // 音频 // 指定资源类型可以帮助浏览器更快的定位解码 <audio autobuffer autoloop loop controls> <source src="/media/audio.mp3" type="audio/mpeg"> <source s
我有一个使用AES算法加密的视频文件,但我需要在播放视频视图之前解密视频。问题是解密视频所需的时间太长。有什么办法我可以做到吗。 更新: E/ExoPlayerIMIPER内部:播放错误com.google.android.exoplayer2.upstream.2. ExoPlaybackException:源错误在com.google.android.exoplayer2. ExoPlayer