溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

關(guān)于visualizer的setEnabled()方法何時進行設(shè)置成false?

發(fā)布時間:2020-07-20 21:18:19 來源:網(wǎng)絡(luò) 閱讀:2227 作者:ltbleo 欄目:開發(fā)技術(shù)

 

  1. /**  
  2.      * 頻譜的實現(xiàn)  
  3.      */ 
  4.     private static final String TAG = "AudioFxActivity_1";  
  5.     private static final float VISUALIZER_HEIGHT_DIP = 160f;  
  6.     public static Visualizer mVisualizer;  
  7.     private LinearLayout mLinearLayout;  
  8.     private VisualizerView mVisualizerView;  
  9.     private MediaPlayer mp;// MediaPlayer對象  
  10.       
  11.     private boolean isNext;  
  12.  
  13.     @Override 
  14.     protected void onCreate(Bundle savedInstanceState)  
  15.     {  
  16.         super.onCreate(savedInstanceState);  
  17.         requestWindowFeature(Window.FEATURE_NO_TITLE);  
  18.         setContentView(R.layout.playingmusic);  
  19.         Intent intent = this.getIntent();// 獲取列表的Intent對象  
  20.         Bundle bundle = intent.getExtras();// Bundle存取數(shù)據(jù),那么在播放界面提取數(shù)據(jù)嘍  
  21.         _ids = bundle.getIntArray("_ids");// 歌名數(shù)組的ID,用來臨時保存音樂的ID  
  22.         position = bundle.getInt("position");// 音樂播放位置  
  23.         _titles = bundle.getStringArray("_titles");// 音樂播放標(biāo)題  
  24.         _artists = bundle.getStringArray("_artists");// 傳過來的藝術(shù)家,歌名一個都不允許遺漏,否則空指針是必須的  
  25.         name = (TextView) findViewById(R.id.musicname);// 歌名  
  26.         // artist = (TextView) findViewById(R.id.singer);// 歌手,即藝術(shù)家  
  27.         lrcText = (TextView) findViewById(R.id.musiclrc);  
  28.         // playtime = (TextView) findViewById(R.id.playtime);// 左邊正在播放時間  
  29.         // durationTime = (TextView) findViewById(R.id.duration);// 總時間,要轉(zhuǎn)換的  
  30.         // albumpic = (ImageView) findViewById(R.id.albumPic);//專輯  
  31.  
  32.         gesLib = GestureLibraries.fromRawResource(this, R.raw.gestures);  
  33.         gesLib.load();  
  34.         gestureoverlay1 = (GestureOverlayView) this.findViewById(R.id.gestures1);  
  35.         MyOnGesturePerformedListener gpl = new MyOnGesturePerformedListener();  
  36.         gestureoverlay1.addOnGesturePerformedListener(gpl);  
  37.  
  38.         // 頻譜功能初始化  
  39.         mLinearLayout = (LinearLayout) findViewById(R.id.layout_audiofx);  
  40.         //Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, ""+_ids[position]);  
  41.         //mp = MediaPlayer.create(this, R.raw.ki);  
  42.           
  43.           
  44.     }  
  45.  
  46.     private void setupVisualizerFxAndUI(int audioID)  
  47.     {  
  48.         mVisualizerView = new VisualizerView(this);  
  49.         mVisualizerView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, (int) (VISUALIZER_HEIGHT_DIP * getResources().getDisplayMetrics().density)));  
  50.           
  51.         mLinearLayout.addView(mVisualizerView);  
  52.           
  53.           
  54.         final int maxCR = Visualizer.getMaxCaptureRate();  
  55.  
  56.           
  57.         mVisualizer = new Visualizer(audioID);  
  58.           
  59.         mVisualizer.setCaptureSize(Visualizer.getCaptureSizeRange()[1]);  
  60.         mVisualizer.setDataCaptureListener(new Visualizer.OnDataCaptureListener()  
  61.         {  
  62.             public void onWaveFormDataCapture(Visualizer visualizer, byte[] bytes, int samplingRate)  
  63.             {  
  64.                 mVisualizerView.updateVisualizer(bytes);  
  65.             }  
  66.  
  67.             public void onFftDataCapture(Visualizer visualizer, byte[] fft, int samplingRate)  
  68.             {  
  69.                 mVisualizerView.updateVisualizer(fft);  
  70.             }  
  71.         }, maxCR / 2falsetrue);  
  72.         mVisualizer.setEnabled(true);  
  73.           
  74.           
  75.           
  76.           
  77.     } 

 01-09 15:17:38.911: E/AndroidRuntime(933): Caused by: java.lang.IllegalStateException: setCaptureSize() called in wrong state: 2
01-09 15:17:38.911: E/AndroidRuntime(933):  at android.media.audiofx.Visualizer.setCaptureSize(Visualizer.java:279)
一直出現(xiàn)這個錯誤,不知道是在這個activity的哪個地方添加mvisualizer.setEnabled(false)

 

 

求大神指點!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI