java - 如何停止 MediaPlayer 流然后重新启动它?安卓

标签 java android media-player android-mediaplayer

我正在制作一个简单的应用程序来播放在线广播流。我知道如何设置流。到目前为止,这是我的代码。它设置流并正常播放。但是如果我点击停止,我就无法让它重新开始。我是否遗漏了一些明显的东西?

final MediaPlayer mediaPlayer = new MediaPlayer();
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    try {
        mediaPlayer.setDataSource(url);
    } 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();
    }
    try {
        mediaPlayer.prepare();
    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } // might take long! (for buffering, etc)

   streamButton = (ToggleButton) findViewById(R.id.playstopstream);

   streamButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {

    @Override
    public void onCheckedChanged(CompoundButton arg0, final boolean isChecked) {
        // TODO Auto-generated method stub
         new Thread(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                if(isChecked)
                {


                    mediaPlayer.start();

                }
                else
                {
                    mediaPlayer.stop();
                    mediaPlayer.reset();



                }
            }

最佳答案

老问题,但我在寻找这个时遇到了它。只需使用 pause 停止,然后在重新启动之前使用 seekTo(0):

mediaPlayer.seekTo(0);
mediaPlayer.start();

无需每次都重新准备录音机即可工作。

关于java - 如何停止 MediaPlayer 流然后重新启动它?安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12486951/

相关文章:

java - NoSuchMethodError - Maven 依赖项使用不同的子依赖项

android - 无法使用导体显示抽屉导航

java - 如何使用多方上传视频文件时显示进度条

ios - 在 iPhone for iOs 5.0 中从 Ipod 库导入歌曲时应用程序崩溃

安卓 : How to invoke media player

java - 为什么 DriverManager.getConnection 不使用 Driver.class 中的 "acceptsURL"方法

java - 将图像从文件系统添加到 Jlabel

安卓音频搜索栏

java - If和Else If语句不触发

android - 用于 html-android 的 FFmpeg mp4 编码器