温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

关于visualizer的setEnabled()方法何时进行设置成false?

发布时间:2020-07-20 21:18:19 来源:网络 阅读:2222 作者:ltbleo 栏目:开发技术

 

  1. /**  
  2.      * 频谱的实现  
  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存取数据,那么在播放界面提取数据喽  
  21.         _ids = bundle.getIntArray("_ids");// 歌名数组的ID,用来临时保存音乐的ID  
  22.         position = bundle.getInt("position");// 音乐播放位置  
  23.         _titles = bundle.getStringArray("_titles");// 音乐播放标题  
  24.         _artists = bundle.getStringArray("_artists");// 传过来的艺术家,歌名一个都不允许遗漏,否则空指针是必须的  
  25.         name = (TextView) findViewById(R.id.musicname);// 歌名  
  26.         // artist = (TextView) findViewById(R.id.singer);// 歌手,即艺术家  
  27.         lrcText = (TextView) findViewById(R.id.musiclrc);  
  28.         // playtime = (TextView) findViewById(R.id.playtime);// 左边正在播放时间  
  29.         // durationTime = (TextView) findViewById(R.id.duration);// 总时间,要转换的  
  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)
一直出现这个错误,不知道是在这个activity的哪个地方添加mvisualizer.setEnabled(false)

 

 

求大神指点!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI