Android 音/视频 相关

来源:互联网 发布:网络被运营商劫持了 编辑:程序博客网 时间:2024/04/29 04:44

Android支持的视频格式

Android支持的音/视频编码方式包括:AMR-NB,H.263,输出的视频格式也只*.3gp或者*.mp4

T-Mobile G1设备中增加了对WMA,WMV,H.264  AVC格式解码的支持。


Android  播放/录制视频

Android支持的编码方式,如下:相关类描述说明MediaRecorder.AudioEncoder音频编码当时AMR_NB:AMR NB编码MediaRecorder.AudioSource声音采样设备MIC:麦克风MediaRecorder.OutputFormat录制输出格式MPEG_4:*.mp4RAW_AMR:*.amrTHREE_GPP:*.3gpMediaRecorder.VideoEncoder视频编码方式H263:H.263编码H264:H.264编码MPEG_4_SP:mp4编码MediaRecorder.VideoSource视频采样设备CAMERA:数码相机



从Android数据库中获取音乐文件的信息

Android系统提供了MediaScanner,MediaProvider,MediaStore等接口,也提供了一个数据库表 。
MediaStore中定义了一系列的数据表,通过ContentResolver提供的查询接口,可以得到音乐相关的信息。
 ContentResolver的查询接口:

        Cursor  query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder);  

        Uri:指明要查询的数据库名称加上表的名称,从MediaStore中 可以查到相应信息的参数,具体可参考开发文档。
        Projection: 指出要查询数据库表中的哪几列,返回的游标中将包括相应的信息。若设为 Null则返回所有信息。
        selection:  查询条件
        selectionArgs:参数信息,这个String数组可以为null。
        SortOrder:指定查询结果的排列顺序
下面的命令将返回外部存储卡上的音乐文件的信息:
Cursor cursor = query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);  

得到cursor后, 可以调用Cursor的相关方法得到具体的音乐信息:

歌曲ID:MediaStore.Audio.Media._ID

Int id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));  

 

歌曲名称 :MediaStore.Audio.Media.TITLE

String tiltes = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));  

 

歌曲专辑名:MediaStore.Audio.Media.ALBUM

String albums = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM));  


歌手名: MediaStore.Audio.Media.ARTIST
String artists = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));  

歌曲文件的路径 :MediaStore.Audio.Media.DATA

String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));    

歌曲的总播放时长 :MediaStore.Audio.Media.DURATION

Int  mDuration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION));    

歌曲文件的大小 :MediaStore.Audio.Media.SIZE

Int  mSize = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE));

-------------------------------------------------------------------------------------------------------------------------------------------------------

参考网络