- 浏览: 279605 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
sunxiangyuan131415:
android中设置ListView的选中的Item的背景颜色 -
liu321jie:
正需要呢,非常感谢!!!!!!!!!!
android中设置ListView的选中的Item的背景颜色 -
tmacbo.:
楼主给力!
android中设置ListView的选中的Item的背景颜色 -
eieihihi:
哪里用那么麻烦,ListView().setChoiceMod ...
android中设置ListView的选中的Item的背景颜色 -
雨雾纷飞:
正需要,谢谢分享!
android中设置ListView的选中的Item的背景颜色
转自chenjie19891104的的博客(http://blog.csdn.net/chenjie19891104/article/category/756236),以便以后学习和查询!
Android有其自带的播放器,我们可以使用隐式Intent来调用它:通过传入一个Action为ACTION_VIEW同时,指定Data为所要播放的Audio的Uri对象,并指定格式信息,则我们就可以调用播放器来播放该Audio了。
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri, MimeType);
startActivity(intent);
本文我们需要访问MediaStore,来获取所有Audio信息,我们首先将获取所有的Album,然后当用户点击某个Album时,显示该Album下所有的Audio,然后当用户点击某个Audio时,调用系统自带的播放器播放该Audio。
package demo.camera; import java.io.File; import org.apache.http.client.utils.URIUtils; import android.app.Activity; import android.app.ListActivity; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.provider.MediaStore.Audio; import android.provider.MediaStore.Audio.Albums; import android.view.View; import android.widget.Button; import android.widget.CursorAdapter; import android.widget.ListView; import android.widget.SimpleCursorAdapter; /** * 本示例演示如何利用Android自带的Music来播放程序 * 和Camera一样,可以通过Intent来启动它。 * 我们需要指定一个ACTION_VIEW的Action * 同时一个Uri来指定我们要播放文件的路径 * 最后指定一个MIME类型,指定所要播放的文件类型 * 每种文件类型对应的都有一个MIME,他一般是类似于audio/mp3格式 * 前部分是一个较大的类型,后面是更具体的类型 * * 同样的,对于Audio类型的多媒体,系统存储在MediaStore.Audio中 * 包括Media,Album,Genre等信息体 * * 本文将以列表的形式列出所有的Album信息,供用户选择 * 当用户选择某个Album时,系统将打开这个ALbum下的所有Audio * @author Administrator * */ public class AudioDemo extends ListActivity { private Button btnMusic; private boolean isAlbum = true; //true时,说明当前列表的内容是Album,false时,说明是Media private Cursor cursor; //游标对象, public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); this.setContentView(R.layout.audio); btnMusic = (Button)this.findViewById(R.id.btn_music); btnMusic.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Intent intent = new Intent(Intent.ACTION_VIEW); // //这里我们先从SDCard文件中获取指定文件的URi // File sdcard = Environment.getExternalStorageDirectory(); //这个是获取SDCard路径 // File audioFile = new File(sdcard.getPath()+"/music/tt.mp3"); // //然后需要获取该文件的Uri // Uri audioUri = Uri.fromFile(audioFile); // //然后指定Uri和MIME // intent.setDataAndType(audioUri, "audio/mp3"); // startActivity(intent); //获取Album列表 getAlbums(); isAlbum = true; } }); } public void onListItemClick(ListView l, View v, int position, long id){ //判断当前是哪个列表 if(isAlbum){ //如果是Album,当用户点击某一个时,获取该Album下的所有media //l.getChildAt(position); if(cursor.moveToPosition(position)){ getMedias(cursor.getInt(cursor.getColumnIndexOrThrow(Albums._ID))); isAlbum = false; } }else{ //如果是Media,则当用户点击某一个时,则播放该Media //调用系统自带的MediaPlayer来播放 if(cursor.moveToPosition(position)){ String mediaUri = cursor.getString(cursor.getColumnIndexOrThrow(Audio.Media.DATA)); String type = cursor.getString(cursor.getColumnIndexOrThrow(Audio.Media.MIME_TYPE)); Uri data = Uri.fromFile(new File(mediaUri)); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(data, type); startActivity(intent); } } //super.onListItemClick(l, v, position, id); } //获取所有Albums public void getAlbums(){ String[] columns = new String[]{ Albums._ID, Albums.ALBUM }; String[] from = new String[]{ Albums.ALBUM }; int[] to = new int[]{ android.R.id.text1 }; cursor = this.managedQuery(Albums.EXTERNAL_CONTENT_URI, columns, null, null, Albums.DEFAULT_SORT_ORDER); CursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, from, to); this.setListAdapter(adapter); //this.isAlbum = true; } //获取某个Albums下对应的medias public void getMedias(int albumId){ String[] columns = new String[]{ Audio.Media._ID, Audio.Media.DATA, Audio.Media.DISPLAY_NAME, Audio.Media.MIME_TYPE }; String selection = Audio.Media.ALBUM_ID + "=?"; String[] selectionArgs = new String[]{ albumId+"" }; String[] from = new String[]{ Audio.Media.DISPLAY_NAME }; int[] to = new int[]{ android.R.id.text1 }; cursor = this.managedQuery(Audio.Media.EXTERNAL_CONTENT_URI, columns, selection, selectionArgs, Audio.Media.TITLE); CursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1,cursor,from,to); this.setListAdapter(adapter); } }
转自chenjie19891104的的博客(http://blog.csdn.net/chenjie19891104/article/category/756236),以
便以后学习和查询!
学习总结
1、启动自带的Music程序播放音乐
String mediaUri = cursor.getString(cursor.getColumnIndexOrThrow(Audio.Media.DATA));
String type = cursor.getString(cursor.getColumnIndexOrThrow(Audio.Media.MIME_TYPE));
Uri data = Uri.fromFile(new File(mediaUri));
//Actinon是Intent.ACTION_VIEW
Intent intent = new Intent(Intent.ACTION_VIEW);
//intent要设置data和type
intent.setDataAndType(data, type);
startActivity(intent);
2、Activity中有方法managedQuery()查询contentProvider的内容,相当于getContentResolver(),
与getContentResolver()区别的是managedQuery()得到的cursor是由Activity自动管理。
3、获取所有Albums
String[] columns = new String[]{
Albums._ID,
Albums.ALBUM
};
String[] from = new String[]{
Albums.ALBUM
};
int[] to = new int[]{
android.R.id.text1
};
//uri:Albums.EXTERNAL_CONTENT_URI
cursor = this.managedQuery(Albums.EXTERNAL_CONTENT_URI, columns, null, null, Albums.DEFAULT_SORT_ORDER);
CursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, from, to);
4、根据id(albumId),查询声音文件
String[] columns = new String[]{
Audio.Media._ID,
Audio.Media.DATA,
Audio.Media.DISPLAY_NAME,
Audio.Media.MIME_TYPE
};
String selection = Audio.Media.ALBUM_ID + "=?";
String[] selectionArgs = new String[]{
albumId+""
};
String[] from = new String[]{
Audio.Media.DISPLAY_NAME
};
int[] to = new int[]{
android.R.id.text1
};
//uri: Audio.Media.EXTERNAL_CONTENT_URI
cursor = this.managedQuery(Audio.Media.EXTERNAL_CONTENT_URI, columns, selection, selectionArgs, Audio.Media.TITLE);
发表评论
-
(转)Android多媒体学习十五:使用在内置的Camera录制视频
2012-09-14 15:33 0Android多媒体学习十五:使用在内置的Camera录制视频 ... -
(转)Android多媒体学习十四:播放网络上的视频
2012-09-14 15:32 0Android多媒体学习十四:播放网络上的视频 Andro ... -
(转)Android多媒体学习十三:检索MediaStore中的Video和其对应的缩略图信息
2012-09-14 15:31 0Android多媒体学习十三:检索MediaStore中的Vi ... -
(转)Android多媒体学习十二:Android中Video的三种播放方式的实现
2012-09-14 15:30 0Android多媒体学习十二:Android中Video的三种 ... -
(转)Android多媒体学习十一:实现仿百度图片查看功能
2012-09-14 15:27 0Android多媒体学习十一:实现仿百度图片查看功能 ... -
(转)Android多媒体学习十:利用AudioRecord类实现自己的音频录制程序
2012-09-17 09:28 1866Android多媒体学习十:利用AudioRecord类实现自 ... -
(转)Android多媒体学习九:利用MediaRecorder类实现自己的音频录制程序
2012-09-17 09:28 3726在上一篇中,我们在代码中有 case R.i ... -
(转)Android多媒体学习八:调用Android自带的音频录制程序,实现录制
2012-09-17 09:28 1665Android多媒体学习八:调用Android自带的音频录制程 ... -
(转)Android多媒体学习七:访问网络上的Audio对应的M3U文件,实现网络音频流的播放
2012-09-17 09:27 1243Android多媒体学习七:访问网络上的Audio对应的M3U ... -
(转)Android多媒体学习六:利用Service实现背景音乐的播放
2012-09-17 09:27 2797Android允许我们使用Service组件来完成后台任 ... -
(转)Android多媒体学习四:实现图像的编辑和合成
2012-09-14 15:12 950import java.io.FileNotFoundExce ... -
(转)Android多媒体学习三:实现自己的Camera
2012-09-14 15:09 3429转自chenjie19891104的的博客(http://bl ... -
(转)Android多媒体学习二:检索Android的图片库,并显示
2012-09-14 15:08 2790转自chenjie19891104的的博客(http://bl ... -
(转)Android多媒体学习一:Android中Image的简单实例。
2012-09-14 15:04 1510转自http://blog.csdn.net/chenj ...
相关推荐
调用Android自带的播放器播放Audio
html5 android网络音乐播放器 可调用android播放本地音乐 里面所有的音乐都需要自己去替换 这也是借鉴别人的写的
黑马程序员安卓教程:Android中服务的调用案例-音乐播放器宣贯.pdf
android 中调用系统自带的录音机进行录音
Android调用手机多媒体,实现手机播放、拍照和相册等功能
博文android基础知识05:四大组件之service 02:远程调用中关于远程调用service的实例程序
根据自己指定的本地文件路径,获取视频文件并已双列显示缩略图,点击缩略图调用系统播放器进行播放,该文件是源代码,适用用android平台
调用Android系统自带功能,包括多媒体、短信、通话。
Android 程序技术 本节课程内容:多媒体 PART1 多媒体 MediaPlayer播放音频 VideoView播放视频 MediaPlayer播放音频 MediaPlayer plays audio MediaPlayer是用于播放音频和视频的,它支持多种格式音频文件(3gp、...
利用C++实现的一个基于MFC的多媒体播放器,调用Windows Media Player插件,编译通过。综合网上的一些关于Windows Media Player的资料实现的,支持视频播放和音频播放。
在VS2008中用MFC的基于对话框调用微软的windows media player多媒体播放器控件,实现多媒体播放器的开发,完成了播放器外框设定,播放,停止,暂停,快进/快退,自动大小,是否全屏等功能,同时将可能需要的所有类...
一、使用意图播放,调用本地安装的播放器,选择一个进行播放。 二、使用VideoView播放(VideoView其实是对MediaPlayer的封装,使用起来很简单,但是缺少灵活性)。 三、使用MediaPlayer播放(将MediaPlayer对象用于...
android studio 调用摄像头拍照或选择相册照片,拿到图片并存储图片
Android调用手机系统自带录音功能实现语音录制与播放
Android工作实践总结:Aidl 远程调用(aidl实例总结) AIDL的IPC的机制和COM或CORBA类似, 是基于接口的,但它是轻量级的。它使用代理类在客户端和实现层间传递值. 如果要使用AIDL, 需要完成2件事情: 1. 引入AIDL的...
用Android调用VLCJNI.SO解码播放视频DEMO.rar
微信小程序操作android多媒体API:实现一个带动画效果的录音机功能源码,微信小程序 录音机,带动画,在微信开发者工具中运行本项目后,在调试一栏可看到界面UI的效果,用鼠标轻触“按住录音”按钮,画面立即显示出...
Android AudioRecorder录制mp3文件(已经完整封装好,直接调用) 源码包中有2个类 AudioRecorder2Mp3Util 负责录音和转换 MainActivity 用户的操作界面 注意用的时候需要加上权限 <uses-permission android:name=...
android和js互相调用,并且可以传参数。
调用Android自带日历功能