您好,登錄后才能下訂單哦!
- /**
- * 頻譜的實現(xiàn)
- */
- private static final String TAG = "AudioFxActivity_1";
- private static final float VISUALIZER_HEIGHT_DIP = 160f;
- public static Visualizer mVisualizer;
- private LinearLayout mLinearLayout;
- private VisualizerView mVisualizerView;
- private MediaPlayer mp;// MediaPlayer對象
- private boolean isNext;
- @Override
- protected void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- setContentView(R.layout.playingmusic);
- Intent intent = this.getIntent();// 獲取列表的Intent對象
- Bundle bundle = intent.getExtras();// Bundle存取數(shù)據(jù),那么在播放界面提取數(shù)據(jù)嘍
- _ids = bundle.getIntArray("_ids");// 歌名數(shù)組的ID,用來臨時保存音樂的ID
- position = bundle.getInt("position");// 音樂播放位置
- _titles = bundle.getStringArray("_titles");// 音樂播放標(biāo)題
- _artists = bundle.getStringArray("_artists");// 傳過來的藝術(shù)家,歌名一個都不允許遺漏,否則空指針是必須的
- name = (TextView) findViewById(R.id.musicname);// 歌名
- // artist = (TextView) findViewById(R.id.singer);// 歌手,即藝術(shù)家
- lrcText = (TextView) findViewById(R.id.musiclrc);
- // playtime = (TextView) findViewById(R.id.playtime);// 左邊正在播放時間
- // durationTime = (TextView) findViewById(R.id.duration);// 總時間,要轉(zhuǎn)換的
- // albumpic = (ImageView) findViewById(R.id.albumPic);//專輯
- gesLib = GestureLibraries.fromRawResource(this, R.raw.gestures);
- gesLib.load();
- gestureoverlay1 = (GestureOverlayView) this.findViewById(R.id.gestures1);
- MyOnGesturePerformedListener gpl = new MyOnGesturePerformedListener();
- gestureoverlay1.addOnGesturePerformedListener(gpl);
- // 頻譜功能初始化
- mLinearLayout = (LinearLayout) findViewById(R.id.layout_audiofx);
- //Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, ""+_ids[position]);
- //mp = MediaPlayer.create(this, R.raw.ki);
- }
- private void setupVisualizerFxAndUI(int audioID)
- {
- mVisualizerView = new VisualizerView(this);
- mVisualizerView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, (int) (VISUALIZER_HEIGHT_DIP * getResources().getDisplayMetrics().density)));
- mLinearLayout.addView(mVisualizerView);
- final int maxCR = Visualizer.getMaxCaptureRate();
- mVisualizer = new Visualizer(audioID);
- mVisualizer.setCaptureSize(Visualizer.getCaptureSizeRange()[1]);
- mVisualizer.setDataCaptureListener(new Visualizer.OnDataCaptureListener()
- {
- public void onWaveFormDataCapture(Visualizer visualizer, byte[] bytes, int samplingRate)
- {
- mVisualizerView.updateVisualizer(bytes);
- }
- public void onFftDataCapture(Visualizer visualizer, byte[] fft, int samplingRate)
- {
- mVisualizerView.updateVisualizer(fft);
- }
- }, maxCR / 2, false, true);
- mVisualizer.setEnabled(true);
- }
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)
求大神指點!
免責(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)容。