android中暫停背景音樂(lè)
網(wǎng)上有很多暫停背景音樂(lè)的例子,最多的就是根據(jù)暫停的指令去發(fā)廣播來(lái)暫停音樂(lè)。其實(shí)這種方式很不靠譜,為什么?因?yàn)槠渌牟シ牌鞑灰欢ㄗ?cè)監(jiān)聽(tīng)了那個(gè)廣播,所以大多數(shù)情況是不起作用的。
下面有一種比較靠譜的方式,是通過(guò)觸發(fā)媒體的按鈕來(lái)操作播放器狀態(tài)。
sendMediaButton(context,<span style="font-size:9pt;line-height:1.5;color:#2B91AF;">KeyEvent</span><span style="font-size:9pt;line-height:1.5;">.KEYCODE_MEDIA_PAUSE);</span>
private static void sendMediaButton(Context context, int keyCode) {
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);
Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
intent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent);
context.sendOrderedBroadcast(intent,null);
keyEvent = new KeyEvent(KeyEvent.ACTION_UP, keyCode);
intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
intent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent);
context.sendOrderedBroadcast(intent,null);
}
網(wǎng)友實(shí)現(xiàn)的另一種方法
簡(jiǎn)約寫(xiě)下流程
{ private Visualizer visualizer = null;//頻譜測(cè)試器 private byte [] mRawVizData;//頻譜容器 //實(shí)例化 Visualizer 對(duì)象 visualizer = new Visualizer(0); mRawVizData = new byte[128]; //對(duì)象的初始化 if(visualizer != null) { if (visualizer.getEnabled()) { visualizer.setEnabled(false); } visualizer.setCaptureSize(mRawVizData.length);//一定要在頻譜false狀態(tài)使用 visualizer.setEnabled(true);//開(kāi)啟頻譜獲取 }
下面是開(kāi)一個(gè)線程進(jìn)行循環(huán)獲取頻譜信息,我只把獲取給貼出來(lái)
int status = Visualizer.ERROR; if(visualizer != null) { //音樂(lè)頻譜獲取 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); } } }
相關(guān)文章
Android實(shí)現(xiàn)Reveal圓形Activity轉(zhuǎn)場(chǎng)動(dòng)畫(huà)的完整步驟
這篇文章主要給大家介紹了關(guān)于Android Reveal圓形Activity轉(zhuǎn)場(chǎng)動(dòng)畫(huà)的實(shí)現(xiàn)過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11Android的Glide庫(kù)加載圖片的用法及其與Picasso的對(duì)比
這篇文章主要介紹了Android的Glide庫(kù)加載圖片的用法及其與Picasso的對(duì)比,Glide的加載gif圖片的功能和性能受到了很多開(kāi)發(fā)者的青睞,需要的朋友可以參考下2016-04-04Android數(shù)據(jù)持久化之讀寫(xiě)SD卡中內(nèi)容的方法詳解
這篇文章主要介紹了Android數(shù)據(jù)持久化之讀寫(xiě)SD卡中內(nèi)容的方法,結(jié)合具體實(shí)例形式分析了Android持久化操作中針對(duì)SD卡進(jìn)行讀寫(xiě)操作的相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2017-05-05Android App中使用SurfaceView制作多線程動(dòng)畫(huà)的實(shí)例講解
這篇文章主要介紹了Android App中使用SurfaceView制作多線程動(dòng)畫(huà)的實(shí)例講解,SurfaceView經(jīng)常被用來(lái)制作游戲中的動(dòng)畫(huà),不過(guò)同時(shí)要注意畫(huà)面閃爍的問(wèn)題,需要的朋友可以參考下2016-04-04Android Fragment多層嵌套重影問(wèn)題的解決方法
這篇文章主要介紹了Android Fragment多層嵌套重影問(wèn)題的解決方法,從解決bug的思想,導(dǎo)致原因,原理解析等方面找出問(wèn)題所在原因,最終解決方法就可以簡(jiǎn)單了,對(duì)fragment 多層嵌套問(wèn)題感興趣的朋友一起通過(guò)本文學(xué)習(xí)吧2016-08-08基于Vert.x和RxJava 2構(gòu)建通用的爬蟲(chóng)框架的示例
這篇文章主要介紹了基于Vert.x和RxJava 2構(gòu)建通用的爬蟲(chóng)框架的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02Android?studio實(shí)現(xiàn)簡(jiǎn)單計(jì)算器的編寫(xiě)
這篇文章主要為大家詳細(xì)介紹了Android?studio實(shí)現(xiàn)簡(jiǎn)單計(jì)算器的編寫(xiě),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05android實(shí)現(xiàn)短按電源鍵關(guān)機(jī)的實(shí)現(xiàn)代碼
這篇文章主要介紹了android實(shí)現(xiàn)短按電源鍵關(guān)機(jī)的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11Android編程實(shí)現(xiàn)實(shí)時(shí)監(jiān)聽(tīng)EditText文本輸入的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)實(shí)時(shí)監(jiān)聽(tīng)EditText文本輸入的方法,結(jié)合實(shí)例形式分析了EditText控件及事件響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下2017-06-06android編程實(shí)現(xiàn)局部界面動(dòng)態(tài)切換的方法
這篇文章主要介紹了android編程實(shí)現(xiàn)局部界面動(dòng)態(tài)切換的方法,以實(shí)例形式較為詳細(xì)的分析了Android局部切換的布局及功能實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11