加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何让android媒体播放器播放声音?

发布时间:2020-12-15 05:10:45 所属栏目:Java 来源:网络整理
导读:我不知道为什么它不起作用,logcat中没有记录错误,但我听不到声音. public static void DeclararSonido(int numero,Context contexto){ switch(numero){ case 0: mp = MediaPlayer.create(contexto,R.raw.alan); break; }}public static void TocarPiedra( in
我不知道为什么它不起作用,logcat中没有记录错误,但我听不到声音.

public static void DeclararSonido(int numero,Context contexto){
    switch(numero){
    case 0:
        mp = MediaPlayer.create(contexto,R.raw.alan);
        break;          
    }
}

public static void TocarPiedra( int posicion,Context contexto){
    DeclararSonido(posicion,contexto);


    mp.start();
    mp.stop();
    mp.release();
}
public static void TocarSirena(Context contexto){
    MediaPlayer mp2= MediaPlayer.create(contexto,R.raw.doh);


    mp2.start();
    mp2.stop();
    mp2.release();

}

如果我擦除mp2.stop();和mp2.release(); AND mp.stop();和mp.release();应用程序播放声音,但文件未发布…

解决方法

你当然不想马上开始然后立即停止..

问题是你正在紧接着执行这些:

mp.start();      // starts playback
mp.stop();       // .. then stops immediately ..
mp.release();

你应该打电话给start,然后当声音完成播放时,释放.您可以使用Completion event来挂接侦听器并在那里释放:

mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){
    public void onCompletion(MediaPlayer player) {
       player.release();          
    }
})

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读