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