java - 如何让 android mediaplayer 播放声音?

标签 java android media-player

不知道为什么不行,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();

你应该调用开始,然后当声音播放完毕,释放。您可以使用 Completion event连接一个监听器并在那里释放:

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

关于java - 如何让 android mediaplayer 播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16280751/

相关文章:

JavaFX Java 11 及更高版本

java - 用于 SWT/AWT 的图形可视化库

android - 让 xamarin 表单中的一个共享页面保持横向

java - Android 上的随机音乐播放器

Android 媒体播放器和搜索栏同步问题

android - Android 上的 UDP 视频流

java - Android 和 SOAP 调用

android - 旋转后如何保存图像位图?

android - 安卓点击游戏教程

java - 在 Java 中加载静态编译的库