网上有很多暂停背景音乐的例子,最多的就是根据暂停的指令去发广播来暂停音乐。其实这种方式很不靠谱,为什么?因为其他的播放器不一定注册监听了那个广播,所以大多数情况是不起作用的。
下面有一种比较靠谱的方式,是通过触发媒体的按钮来操作播放器状态。
网友实现的另一种方法
简约写下流程
{ private visualizer visualizer = null;//频谱测试器 private byte [] mrawvizdata;//频谱容器 //实例化 visualizer 对象 visualizer = new visualizer(0); mrawvizdata = new byte[128]; //对象的初始化 if(visualizer != null) { if (visualizer.getenabled()) { visualizer.setenabled(false); } visualizer.setcapturesize(mrawvizdata.length);//一定要在频谱false状态使用 visualizer.setenabled(true);//开启频谱获取 }
下面是开一个线程进行循环获取频谱信息,我只把获取给贴出来
int status = visualizer.error; if(visualizer != null) { //音乐频谱获取 status = visualizer.getfft(mrawvizdata);//获取波形图 if(status != visualizer.success) { log.i("answer", "getwavefail"); } else { int j = 0; for(int i = 0; i < 128; i++) { if(mrawvizdata[i] == 0) { j++; } } log.i("answer", "getwave j = " + j); } } }
如对本文有疑问, 点击进行留言回复!!
Codeforces C. A Cookie for You (模拟 / 分类 / 贪心) (Round #654 Div.2)
DialogFragment弹窗(带黑色透明背景和不带黑色透明背景)
网友评论