多媒体

来源:互联网 发布:淘宝开店信用卡套现 编辑:程序博客网 时间:2024/05/05 11:44

MediaPlayer
加载资源有两种方式
构造方法
MediaPlayer mp = new MediaPlayer();
//设置资源
mp.setDataSource();
//预加载 同步 异步
prepare 同步
prepareAsync 异步加载音乐,必须回调监听。加载完成后的监听
OnPreparedListener
静态方法
MediaPlayer.create(this, R.raw.beyond_bzyy);//缺点是在大音乐的时候,会出现卡顿
可以加载三种资源 res/raw 本地File Uri
三种控制方法
1. start
2. pause
3. stop
4.
5. //其他方法
6. isPlaying 是否正在播放
7. isLooping 是否单曲无线循环
8.
9. seekTo: 调到某个时间点
10. getDuration: 获取整首歌的时间 毫秒
11.
12.
13. setOnCompletionListener 完成时的监听
14. setOnSeekCompleteListener 跳转完毕
15. setOnPreparedListener 异步加载完毕
SoundPool
1. //初始化
2. soundPool = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
3. //加载音频
4. map.put(0, soundPool.load(this, R.raw.ringout, 0));
5. map.put(1, soundPool.load(this, R.raw.chimes, 0));
6. map.put(2, soundPool.load(this, R.raw.ding, 0));
7. map.put(3, soundPool.load(this, R.raw.enter, 0));
8. map.put(4, soundPool.load(this, R.raw.notify, 0));
9. //播放
10. soundPool.play(歌曲id, 1, 1, 0, 0, 1);
VideoView
1. 初始化,设置路径
2. setVideoURI(网络地址)
3. setVideoPath(SD路径)
4. 可以添加一个控制器
5. setMediaController(new MediaController(this));
6. 开始播放
7. start
8. pause
读取资源文件
1. AssetFileDescriptor afd = context.getResources().openRawResourceFd(r
esid);
2. mp.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.
getLength());
3. afd.close();