Pro Android学习笔记(一二六):Media Frameworks(1):SD卡

本文深入探讨了Android多媒体支持及其在SD卡上的应用,包括核心类MediaPlayer的使用、SD卡读写方法以及文件路径解析。详细介绍了如何在模拟器中创建、加载和操作SD卡,以及获取SD卡中标准目录的文件。此外,还提供了关于SD卡目录结构、文件读写权限以及获取SD卡文件的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei

Android在android.media包中支持音视频,核心是android.media.MediaPlayer类。内容来源有web,apk(作为resource或者asset打包到apk中),SD卡。MediaPlayer支持.3gp,*.mp3,*.mid,*.ogg, *.wav和*.mp4,支持RTSP,HTTP/HTTPS live streaming,以及M3U播放列表。

SD卡

读写媒体文件,通常要读写SD(Secure Digital)卡。模拟器可以模拟SD卡。

如果我们没有为AVD创建SD卡,可以事后通过命令行提供。

1、创建一个SD卡的img文件。容量单位可以是M(MB),K(KB),或者直接是整数,表示多少byte,注意不支持G。模拟器不支持小于8M的SD卡。下面是256M的例子。

mksdcard 256M <path>\sdcard.img

2、打开AVD,指定SD卡。在Eclipse中,可以在Windows-》Preference-》Android-》Launch-》options中加入-sdcard <your-sdcard-img-file>。但是有可能不工作,仍采用AVD创建时的SD卡,可以通过下面命令行打开AVD,指定的sdcard.img会替代在AVD中的SD卡。

emulator -avd AVDName –sdcard <your-sdcard-img-file>

模拟器SD卡加载或获取文件

可以通过DDMS的File Explorer(右上方有图标)对sdcard(一般目录为\mnt\sdcard)中加入(push)或获取(pull)文件。如果发现没有File Explorer,可以在Windows-》Show View中选上。也可以通过adb命令来加载或获取文件,如下:

adb push c:\path_to_my_file\filename /mnt/sdcard/newfile
adb pull /mnt/sdcard/devicefile c:\path_to_where_its_going\filename

SD卡文件

在SD卡内,通常有DCIM目录(Digital Camera Images directory),将DCIM位于SD卡的根目录下是工业标准,子目录的工业标准命名为123ABCDE,即3位数字5位字母,可以比对数码相机。在Android通常为100ANDRO/,但更可能使用的非标准的Camera/,也可能是OEM厂家自定义的目录。

SD根目录在Android2.2之前为/sdcard,Android2.2及以后为/mnt/sdcard,代码通常用下面方式获取,返回File对象:

Environment.getExternalStorageDirectory()

DCIM外,还有一些标准目录,如下:

alarm/(DIRECTORY_ALARMS),DCIM/(DIRECTORY_DCIM),Download/(DIRECTORY_DOWNLOADS,真实名字不是负数,但是constant是,奇特),Movies/(DIRECOTRY_MOVIES),Music(DIRECTORY_MUSIC),Notifications(DIRECTORY_NOTIFICATIONS),Pictrues/(DIRECTORY_PICTURES),Podcasts/(DIRECTORY_PODCASTS),Ringtones/(DIRECTORY_RINGTONES)。

可以直接获取这些目录的File对象,但要求版本在Android2.2或之后。但有些双SD卡的设备也可能会不同。

Environment.getExternalStoragePublicDirectory(String type)

读取SD卡需要android.permission.WRITE_EXTERNAL_STORAGE的权限。


相关链接:我的Android开发相关文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值