Android 音频播放
来源:互联网 发布:100以内的质数编程 编辑:程序博客网 时间:2024/06/16 16:05
Android中音频和视频的播放我们最先想到的就是MediaPlayer类了,该类提供了播放、暂停、停止、和重复播放等方法。该类位于android.media包下,详见API文档。其实除了这个类还有一个音乐播放类那就是SoundPool,这两个类各有不同分析一下便于大家理解
MediaPlayer:
此类适合播放较大文件,此类文件应该存储在SD卡上,而不是在资源文件里,还有此类每次只能播放一个音频文件。
此类用法如下:
1、从资源文件中播放
MediaPlayer player = new MediaPlayer.create(this,R.raw.test);
player.start();
2、从文件系统播放
MediaPlayer player = new MediaPlayer();
String path = "/sdcard/test.mp3";
player.setDataSource(path);
player.prepare();
player.start();
3、从网络播放
(1)通过URI的方式:
String path="http://**************.mp3"; //这里给一个歌曲的网络地址就行了
Uri uri = Uri.parse(path);
MediaPlayer player = new MediaPlayer.create(this,uri);
player.start();
(2)通过设置数据源的方式:
MediaPlayer player = new MediaPlayer.create();
String path="http://**************.mp3"; //这里给一个歌曲的网络地址就行了
player.setDataSource(path);
player.prepare();
player.start();
SoundPool:
此类特点就是低延迟播放,适合播放实时音实现同时播放多个声音,如游戏中炸弹的爆炸音等小资源文件,此类音频比较适合放到资源文件夹 res/raw下和程序一起打成APK文件。
用法如下:
SoundPool soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);
HashMap<Integer, Integer> soundPoolMap = new HashMap<Integer, Integer>();
soundPoolMap.put(1, soundPool.load(this, R.raw.dingdong1, 1));
soundPoolMap.put(2, soundPool.load(this, R.raw.dingdong2, 2));
public void playSound(int sound, int loop) {
AudioManager mgr = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);
float streamVolumeCurrent = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
float streamVolumeMax = mgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
float volume = streamVolumeCurrent/streamVolumeMax;
soundPool.play(soundPoolMap.get(sound), volume, volume, 1, loop, 1f);
//参数:1、Map中取值 2、当前音量 3、最大音量 4、优先级 5、重播次数 6、播放速度
}
this.playSound(1, 0);
原文地址:http://www.cnblogs.com/xiaoQLu/archive/2011/04/24/2026520.html
其他参考
http://m.blog.csdn.net/qq446282412/article/details/16982573
https://www.2cto.com/kf/201605/507116.html
- Android AudioTrack 播放音频
- Android MediaPlayer播放音频
- android:音频播放
- android 音频播放 SoundPool
- android 音频播放--MediaPlayer
- Android SoundPool播放音频
- android 音频播放类
- Android播放音频相关
- Android音频播放方法
- Android中的音频播放
- android音频播放
- Android音频播放讲解
- Android:MediaPlayer播放音频
- Android SoundPool播放音频
- Android播放音频中断
- Android 播放音频
- android播放网络音频
- 管理Android音频播放
- bzoj 1709: [Usaco2007 Oct]Super Paintball超级弹珠
- Paxos算法原理与推导
- Scala的偏函数
- Android Studio运行java程序
- Selenium Webdriver 学习总结-Selenium Grid & Webdriver(九)
- Android 音频播放
- Reactor模式
- 嵌入式系统开发入门二:C语言的几个注意事项
- iOS安装CocoaPods详细过程--2017最新
- 文章标题
- 天天学Linux命令13--more命令
- jenkins用户手册-10-管理之安全管理
- JVM 语言的兴衰史
- eclipse的常用配置