Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在循环中播放1个音频声音的最佳播放器是什么?_Android_Android Fragments_Android Mediaplayer_Android Lifecycle_Android Audiomanager - Fatal编程技术网

Android 在循环中播放1个音频声音的最佳播放器是什么?

Android 在循环中播放1个音频声音的最佳播放器是什么?,android,android-fragments,android-mediaplayer,android-lifecycle,android-audiomanager,Android,Android Fragments,Android Mediaplayer,Android Lifecycle,Android Audiomanager,目前,我正在使用mediaplayer在单击按钮时循环播放一个音频文件(在触发某个事件或停止播放时停止播放)。但是,我不确定mediaplayer是否适合播放8-10秒的音频声音,设置为循环播放最多30秒。有没有更好、更节省资源的替代方案?任何例子都会有所帮助 以下是我目前的代码: MediaPlayer mp onCreate(savedinstance){ .... mp = MediaPlayer.create(getBaseContext(), R.raw.ringbacktone);

目前,我正在使用mediaplayer在单击按钮时循环播放一个音频文件(在触发某个事件或停止播放时停止播放)。但是,我不确定mediaplayer是否适合播放8-10秒的音频声音,设置为循环播放最多30秒。有没有更好、更节省资源的替代方案?任何例子都会有所帮助

以下是我目前的代码:

MediaPlayer mp

onCreate(savedinstance){
....
 mp = MediaPlayer.create(getBaseContext(), R.raw.ringbacktone);
        mp.setLooping(true);
        mp.setVolume(100, 100);
...
}

public void somefunction {
...
case someeventhappens: 
   mp.start();
break;
...}


@Override
    public void onStop() {
        super.onStop();
    mp.stop();
}

 @Override
    protected void onDestroy() {
        super.onDestroy();
        if(mp != null) {
            mp.stop();
        }
你知道我该如何改进这一点,或者使用更好的资源效率替代方案,以最适合我只播放.wav文件的需要吗


提前谢谢

我的意思是更像是节约资源。一些不会导致任何内存问题的东西,并且是android中循环播放1个音频文件的标准?使用.mp3文件格式可能会使您在最终项目中获得一些KB。@StatoDotcom但即使有或没有它,mediaplayer是最佳的替代品吗?还是有更好的音频播放器和资源效率?你能解释一下为什么你认为
MediaPlayer
没有那么高的效率吗?@MarissaNicholas我不认为即使在最初的Android API上有替代MediaPlayer的产品。你可以做的是尝试探索建立自己的超级大国优化和资源节约者的MealApple(即:在你的Android工作室NDK上使用C++)的方法。如果成功了,请回到这里向我们展示你的目标。祝你好运。