android中暫停背景音樂
網(wǎng)上有很多暫停背景音樂的例子,最多的就是根據(jù)暫停的指令去發(fā)廣播來(lái)暫停音樂。其實(shí)這種方式很不靠譜,為什么?因?yàn)槠渌牟シ牌鞑灰欢ㄗ?cè)監(jiān)聽了那個(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)約寫下流程
{
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);//開啟頻譜獲取
}
下面是開一個(gè)線程進(jìn)行循環(huán)獲取頻譜信息,我只把獲取給貼出來(lái)
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)多維商品屬性SKU選擇
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)多維商品屬性SKU選擇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10
SimpleCommand框架ImageLoader API詳解(三)
這篇文章主要為大家詳細(xì)介紹了SimpleCommand框架ImageLoader API,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
AndroidStduio3.0 使用gradle將module打包jar文件的方法
這篇文章主要介紹了AndroidStduio3.0 使用gradle將module打包jar文件的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04
Android 監(jiān)聽WiFi的開關(guān)狀態(tài)實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 監(jiān)聽WiFi的開關(guān)狀態(tài)實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05
appium運(yùn)行各種坑爹報(bào)錯(cuò)問題及解決方法【推薦】
這篇文章主要介紹了 appium運(yùn)行各種坑爹報(bào)錯(cuò)問題及解決方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06
Android 進(jìn)度條自動(dòng)前進(jìn)效果的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 進(jìn)度條自動(dòng)前進(jìn)效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
android使用Ultra-PullToRefresh實(shí)現(xiàn)下拉刷新自定義代碼
本篇文章主要介紹了android使用Ultra-PullToRefresh實(shí)現(xiàn)下拉刷新新自定義,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02
Android動(dòng)畫實(shí)現(xiàn)原理和代碼
這篇文章主要介紹了Android動(dòng)畫實(shí)現(xiàn)原理和代碼分析,如果你對(duì)此感興趣,跟著小編學(xué)習(xí)下吧。2017-12-12

