Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android 2.2切断MediaPlayer声音播放?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
经过一些谷歌搜索后,这似乎是一个常见的问题,但我还没有找到一个实际的解决方案.我还没有在实际设备上进行过测试,但仿真器在80%左右时切断了我的声音片段.我正在播放.wav文件.

有谁知道这些问题的程序化解决方案?

编辑:

public void play(Context context){
    if (soundPlayer != null){
        soundPlayer.release();
    }

    int rId = 0;

    switch(aIndeX){
        case 0: rId = R.raw.c0; break;
        case 1: rId = R.raw.c1; break;
        case 2: rId = R.raw.c2; break;
        case 3: rId = R.raw.c3; break;
        case 4: rId = R.raw.c4; break;
        case 5: rId = R.raw.c5; break;
        case 6: rId = R.raw.c6; break;
        case 7: rId = R.raw.c7; break;
        case 8: rId = R.raw.c8; break;
        case 9: rId = R.raw.c9; break;
        case 10: rId = R.raw.c10; break;
        case 11: rId = R.raw.c11; break;
        case 12: rId = R.raw.c12; break;
        case 13: rId = R.raw.c13; break;
        case 14: rId = R.raw.v14; break;
        case 15: rId = R.raw.v15; break;
        case 16: rId = R.raw.v16; break;
        case 17: rId = R.raw.v17; break;
        case 18: rId = R.raw.v18; break;
        case 19: rId = R.raw.v19; break;
        case 20: rId = R.raw.v20; break;
        case 21: rId = R.raw.v21; break;
        case 22: rId = R.raw.v22; break;
        case 23: rId = R.raw.v23; break;

        default: rId = R.raw.error; break;
    }

    soundPlayer = MediaPlayer.create(context,rId);
    if (soundPlayer != null){
        soundPlayer.start();
    }
}

解决方法

对于初学者来说,我会尝试确保在start()之前@L_325_7@mediaPlayer.create()函数.如果是游戏,请在开始新游戏时加载声音(为每个声音创建新的媒体播放器).之所以这样,是因为create函数会在那里有效地加载声音文件,然后在调用start时准备好顺利播放.如果您在运行文件之前每次都加载文件,那么您不仅需要执行比您需要的更多的工作,而且它可能会对模拟器产生不良影响.我不确定你是否注意到了,但与几乎任何实际的物理设备相比,仿真器并不是最快的工具.因此,我认为可能发生的是模拟器正在“播放”声音并认为它在声音实际播放之前已完成,主要是由于模拟器的速度很慢.

在实际设备上试一试,我认为你不会有任何问题.

大佬总结

以上是大佬教程为你收集整理的Android 2.2切断MediaPlayer声音播放?全部内容,希望文章能够帮你解决Android 2.2切断MediaPlayer声音播放?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。