Android MediaStore用法示例

MediaStore类向存储在设备上(无论是内部存储器还是外部存储器)的媒体提供了一个接口,MediaStore还提供了API来简化操作媒体。这些API中包含在设备上搜索特定类型的媒体的机制,用于将音频和视频录制到存储器的Intent,及建立播放列表的方式。下面是使用Intent来录制音频和拍照的简单示例。

 

public class MediaStoreTest extends Activity {
    private static final String TAG = "MediaStoreTest";
    private static final int RECORD_SOUND = 0;
    private static final int IMAGE_CAPTURE = 1;
    
    private Button btnRecord;
    private Button btnPhoto;
    
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        btnRecord = (Button)findViewById(R.id.btnRecord);
        btnRecord.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                startRecording();
            }
        });
        
        btnPhoto = (Button)findViewById(R.id.btnPhoto);
        btnPhoto.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                takePhoto();
            }
        });
    }
    
    public void startRecording() {
        Intent intent = new Intent("android.provider.MediaStore.RECORD_SOUND");
        startActivityForResult(intent, RECORD_SOUND);
    }
    
    public void takePhoto() {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        String strFilePath = Environment.getExternalStorageDirectory() + "/take_photo/" + getDate() + ".jpeg";
        Log.d(TAG, "strFilePath:" + strFilePath);
        Uri uri = Uri.fromFile(new File(strFilePath));
        intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); // 设置照片的保存路径
        startActivityForResult(intent, IMAGE_CAPTURE);
    }
    
    /**   
     * 获取系统时间   
     * @return   
     */    
    public static String getDate(){  
        Calendar ca = Calendar.getInstance();             
        int year = ca.get(Calendar.YEAR);           // 获取年份     
        int month = ca.get(Calendar.MONTH);         // 获取月份      
        int day = ca.get(Calendar.DATE);            // 获取日       
        int hour = ca.get(Calendar.HOUR);           // 获取小时    
        int minute = ca.get(Calendar.MINUTE);       // 获取分      
        int second = ca.get(Calendar.SECOND);       // 获取秒     
        int millisecond = ca.get(Calendar.MILLISECOND); // 获取毫秒  
         
        String date = "" + year + (month + 1 ) + day + hour + minute + second + millisecond;     
        return date;           
    }
 
 
 
文章摘自  Android MediaStore用法示例
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值