运用多媒体(通知、拍照、相册、音频、视频)

2017-07-19  本文已影响0人  郑在学_blog

1.通知的基本用法

通知的用法比较灵活,既可以在活动里面创建,也可以在广播接收器里面创建,还可以在服务里面创建。当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现。
下面通过代码来说明通知的基本用法

public class MainActivity extends AppCompatActivity {
    private Button notificationBt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        notificationBt = (Button) findViewById(R.id.notification);
        notificationBt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,SecondActivity.class);
                PendingIntent pd = PendingIntent.getActivity(MainActivity.this,0,intent,0);
                NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                Notification notification = new NotificationCompat.Builder(MainActivity.this)
                        .setContentIntent(pd)
                        .setContentTitle("this is content title")
                        .setContentText("this is content text")
                        .setAutoCancel(true)
                        .setDefaults(NotificationCompat.DEFAULT_ALL)
                        .setPriority(NotificationCompat.PRIORITY_MAX)
                        .setWhen(System.currentTimeMillis())
                        .setSmallIcon(R.mipmap.ic_launcher)
                        .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
                        .build();
                manager.notify(1,notification);
            }
        });
    }
}

2.拍照和相册

大概的流程

拍照的实现

  1. 创建存放图片的文件夹
  2. 将文件夹路径转换为uri
  3. 隐式启动相机的Activity,uri作为intent的一个参数.
  4. 拍照结束后,执行onActivityResult(…)获得图片

相册选取图片

  1. 启动相册Activity
  2. 选择结束后,执行onActivityResult(…)获得图片
    动态权限管理
    关键代码

3. 播放多媒体文件

播放音频

3.1 实例化MediaPlayer对象
3.2 动态申请权限
3.3 创建文件对象

File file = new File(Environment.getExternalStorageDirectory(),"music.mp3");//在SD卡中的music.mp3

3.4 指定音频文件的路径

mediaPlayer.serDataSource(file.getpath());

3.5 进入准备状态

mediaPlayer.prepare();

3.6 使用逻辑

3.7 记得在Manifest加权限

播放视频

播放视频与播放音频有很多相同之处,不同之处在于

  1. 创建VideoView对象
  2. 指定文件路径的方法是setVideoPath()
  3. videoView不用准备
  4. videoView.suspend()重播
上一篇下一篇

猜你喜欢

热点阅读