碎片上的android单实例mediaplayer

碎片上的android单实例mediaplayer,android,Android,这就是我的安卓系统目前正在播放的mp3,但无法停止播放,它在mediaPlayer.stop()崩溃 它正在播放,但我无法停止,它在 mediaplayer.stop() 不知道为什么要浪费很长时间寻找线索 =============== 根据注释,这里是新代码 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { f

这就是我的安卓系统目前正在播放的mp3,但无法停止播放,它在
mediaPlayer.stop()崩溃

它正在播放,但我无法停止,它在
mediaplayer.stop()
不知道为什么要浪费很长时间寻找线索

=============== 根据注释,这里是新代码

     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            final View view= inflater.inflate(R.layout.fragment_home, container, false);
            Button play = (Button) view.findViewById(R.id.play);


            Button stop = (Button) view.findViewById(R.id.stop);
            play.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick(View v) {
                    String url = "http://www.brothershouse.narod.ru/music/pepe_link_-_guitar_vibe_113_club_mix.mp3"; // your URL here
                    MediaPlayer myMediaPlayer = new MediaPlayer();
                    myMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                    try {
                        myMediaPlayer.setDataSource(url);
                        myMediaPlayer.prepareAsync(); // might take long! (for buffering, etc)

                    } catch (IOException e) {
                     //   Toast.makeText(this, "mp3 not found", Toast.LENGTH_SHORT).show();
                        e.printStackTrace();
                    }

                    //mp3 will be started after completion of preparing...
                    myMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

                        @Override
                        public void onPrepared(MediaPlayer player) {
                            player.start();
                        }

                    });

                }});



now how do i stop this from a different button
stop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //stop

                stopPlaying();

                try {


                } catch (Exception e) {
                    e.printStackTrace();
                }


            }
        });



private void stopPlaying() {

        myMediaPlayer.pause();

}

现在我如何再次停止播放

使用
mediaPlayer.reset()
,如果您使用的媒体来自url(而不是本地存储),那么最好调用
prepareAsync()
并实现
onPreparedListener()
方法
onPrepared(mediaPlayer mp)
我是新来的,不确定我是否做过这些,但我不喜欢研究它。如果您能提供代码给我,我将不胜感激,这样我就可以使用示例干杯了。mediaPlayer.reset()文件仍然会使应用程序崩溃不确定我为什么会发现这个搜索结果我无法相信只有一个停止按钮这么多嘿,这里有一个很好的例子:你想查看的大部分代码都在MusicService.java中-我还建议如果你想让音乐在应用程序完成后继续播放,就使用一个服务。嗨,先生,呃,当播放按钮被点击音乐播放留待它,我现在只需要一个停止代码我尝试了几次他们在上面的代码不工作,检查上面的代码
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            final View view= inflater.inflate(R.layout.fragment_home, container, false);
            Button play = (Button) view.findViewById(R.id.play);


            Button stop = (Button) view.findViewById(R.id.stop);
            play.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick(View v) {
                    String url = "http://www.brothershouse.narod.ru/music/pepe_link_-_guitar_vibe_113_club_mix.mp3"; // your URL here
                    MediaPlayer myMediaPlayer = new MediaPlayer();
                    myMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                    try {
                        myMediaPlayer.setDataSource(url);
                        myMediaPlayer.prepareAsync(); // might take long! (for buffering, etc)

                    } catch (IOException e) {
                     //   Toast.makeText(this, "mp3 not found", Toast.LENGTH_SHORT).show();
                        e.printStackTrace();
                    }

                    //mp3 will be started after completion of preparing...
                    myMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

                        @Override
                        public void onPrepared(MediaPlayer player) {
                            player.start();
                        }

                    });

                }});



now how do i stop this from a different button
stop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //stop

                stopPlaying();

                try {


                } catch (Exception e) {
                    e.printStackTrace();
                }


            }
        });



private void stopPlaying() {

        myMediaPlayer.pause();

}