多媒体

android笔记-多媒体编程

2016-03-28  本文已影响73人  法神赵日天

多媒体概念(了解)

计算机图片大小的计算(掌握)

图片大小 = 图片的总像素 * 每个像素占用的大小


加载大图片到内存(掌握)

Android系统以ARGB表示每个像素,所以每个像素占用4个字节,很容易内存溢出

对图片进行缩放(掌握)


在内存中创建图片的副本(掌握)

直接加载的bitmap对象是只读的,无法修改,要修改图片只能在内存中创建出一个一模一样的bitmap副本,然后修改副本

    //加载原图
    Bitmap srcBm = BitmapFactory.decodeFile("sdcard/photo3.jpg");
    iv_src.setImageBitmap(srcBm);
    
    //创建与原图大小一致的空白bitmap
    Bitmap copyBm = Bitmap.createBitmap(srcBm.getWidth(), srcBm.getHeight(), srcBm.getConfig());
    //定义画笔
    Paint paint = new Paint();
    //把纸铺在画版上
    Canvas canvas = new Canvas(copyBm);
    //把srcBm的内容绘制在copyBm上
    canvas.drawBitmap(srcBm, new Matrix(), paint);
    
    iv_copy.setImageBitmap(copyBm);

对图片进行特效处理(熟悉)


画画板(掌握)

记录用户触摸事件的XY坐标,绘制直线


撕衣服(掌握)


音乐播放器

播放服务(掌握)

根据播放进度设置进度条(掌握)

拖动进度条改变播放进度

     //给sb设置一个拖动侦听
     sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
        //停止拖动时调用
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub
            int progress = seekBar.getProgress();
            mi.seekTo(progress);
        }
        //开始拖动时调用            
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub
            
        }
        //拖动的时候不断调用            
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress,
                boolean fromUser) {
            // TODO Auto-generated method stub
            
        }
    });    

视频播放器(熟悉)

SurfaceView


摄像头(熟悉)


使用Camera类完成照相(熟悉)

上一篇下一篇

猜你喜欢

热点阅读