【问题标题】:MediaPlayer setOnPreparedListener doesn't get called for second timeMediaPlayer setOnPreparedListener 没有被第二次调用
【发布时间】:2014-11-15 14:55:42
【问题描述】:

我正在使用 listview 适配器来显示曲目列表。每个列表项都有播放和停止图标来播放和停止曲目。我遇到的问题是当我第一次单击播放按钮时曲目只播放一次。之后如果我通过单击停止按钮来停止它并尝试播放它没有播放的任何曲目。通过 toast 消息我发现 holder.img1.setOnClickListener() 方法确实被调用但 onPrepared() 方法没有得到在第二次或之后点击播放按钮时调用..如果我用mMediaPlayer.release();替换mMediaPlayer.pause();,我仍然得到相同的结果..如果我把mMediaPlayer=new MediaPlayer();inside onClick() 方法holder.img1.setOnClickListener上面的问题确实得到了已解决,但随后单击多个播放按钮将开始同时播放多个曲目,这是我不想要的..

【问题讨论】:

    标签: android audio android-mediaplayer


    【解决方案1】:

    由于您的命名约定和缺乏评论,试图帮助您将是一场噩梦。 我建议您更改命名约定,以便查看您的代码的人对每个变量的作用有所了解。在了解您正在尝试做什么时,打开小 cmets 也会非常有帮助。

    【讨论】:

      【解决方案2】:
      @Override
      public void onPrepared(MediaPlayer mp)
      {
          Toast.makeText(context,"prepatre",Toast.LENGTH_LONG).show();
          mMediaPlayer.start();
      
       }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多