多媒体

xiaoxiao2021-02-27  139

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();

转载请注明原文地址: https://www.6miu.com/read-16960.html

最新回复(0)