簡體   English   中英

媒體控制器加載聲音文件時,進度對話框未顯示

[英]Progress dialog not showing up while media controller loading the sound file

我正在使用媒體控制器和媒體播放器從服務器加載聲音文件。 我要在加載聲音文件時顯示一個進度對話框。 問題實際上是進度車顯示出來的,但不是我按下按鈕時就顯示,而是在媒體控制器出現之前就顯示並立即隱藏。 介質控制器工作正常。

 ImageButton soundLoader = (ImageButton)getActivity().findViewById(R.id.lifeObjectSound);
             soundLoader.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    progress = ProgressDialog.show(getActivity(), "dialog title",
                            "dialog message", true);

                     mediaPlayer = new MediaPlayer();
                        mediaPlayer.setOnPreparedListener(currentFragment);

                        mediaController = new MediaController(getActivity());


                          try {
                            mediaPlayer.setDataSource("https://dl.dropboxusercontent.com/u/108022472/5041046.mp3");
                             mediaPlayer.prepare();
                        } catch (IllegalArgumentException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (SecurityException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (IllegalStateException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }

                          mediaPlayer.start();

                }
            });

我將停止進度對話框,如下所示:

@Override
        public void onPrepared(MediaPlayer mp) {
            Log.d("media status", "onPrepared");
            mediaController.setMediaPlayer(this);
            mediaController.setAnchorView(getView());


            handler.post(new Runnable() {
              public void run() {
                mediaController.setEnabled(true);
                mediaController.show(0);
                progress.dismiss();
              }
            });

        }

使用以下行

 progress = ProgressDialog.show(getActivity(), "dialog title",
                            "dialog message", true);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM