首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止播放其他音频

停止播放其他音频
EN

Stack Overflow用户
提问于 2017-05-16 17:02:37
回答 3查看 54关注 0票数 1

对于我想要完成的任务,我还尝试了一个if语句,在这里我测试了,如果mp.isplaying(),并做了mp.stop,但是没有结果。所有这些都在项目的主类中。在oncreate方法中没有任何内容。

代码语言:javascript
复制
public class MainActivity extends AppCompatActivity {

MediaPlayer mp;

public void buttonTapped(View view){

    int id = view.getId();
    String ourId = "";
    ourId = view.getResources().getResourceEntryName(id);

    int resourceId = getResources().getIdentifier(ourId, "raw", getPackageName());

    mp = MediaPlayer.create(this, resourceId);
    mp.start();
    mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            mp.release();
        }
    });
  //  Log.i("Stuff", viewId);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

}

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-17 04:58:27

* *中的代码应该可以解决问题。

代码语言:javascript
复制
public void buttonTapped(View view){

    int id = view.getId();
    String ourId = "";
    ourId = view.getResources().getResourceEntryName(id);

    int resourceId = getResources().getIdentifier(ourId, "raw", getPackageName());



 ***if(mp!=null){
         mp.release();
         mp=null;
         }***

    mp = MediaPlayer.create(this, resourceId);
    mp.start();
    mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            mp.release();
        }
    });
  //  Log.i("Stuff", viewId);
}
票数 1
EN

Stack Overflow用户

发布于 2017-05-16 18:11:44

在setOnCompletionListener中,您已经释放了mp,还添加了mp = null。

票数 0
EN

Stack Overflow用户

发布于 2017-05-17 04:45:46

试下代码:-

试一试 { mp.setDataSource(birdsUrlList.get(position).getUrl_audio());mp =新的MediaPlayer(); mp.prepare(); Mp.setOnPreparedListener(新MediaPlayer.OnPreparedListener() ){ @Override 公共无效onPrepared(MediaPlayer mp) { mp.start(); } }); Mp.setOnCompletionListener(新MediaPlayer.OnCompletionListener() ){ @Override 公共无效onCompletion(MediaPlayer mp) { mp.stop() mp.release(); } }); //startActivity(新意图( Uri.parse(birdsUrlList.get(position).getUrl_video())));}Intent.ACTION_VIEW)捕捉(异常e) { e.printStackTrace();}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44007509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档