Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.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
Java 应用程序未运行。反复显示运行应用程序_Java_Android - Fatal编程技术网

Java 应用程序未运行。反复显示运行应用程序

Java 应用程序未运行。反复显示运行应用程序,java,android,Java,Android,我是一名初学者。我试图使用代码中的按钮播放音轨,但当我运行应用程序时,应用程序没有运行。它一次又一次地显示打开的应用程序,当我打开它时显示关闭的应用程序。在日志cat中,它显示运行时异常,显示致命异常:main/java.lang.RuntimeException:无法启动活动组件信息{com.devlopers.colorplay/com.devlopers.colorplay.MainActivity}:java.lang.NullPointerException:尝试在上调用虚拟方法'in


我是一名初学者。我试图使用代码中的按钮播放音轨,但当我运行应用程序时,应用程序没有运行。它一次又一次地显示打开的应用程序,当我打开它时显示关闭的应用程序。在日志cat中,它显示运行时异常,显示致命异常:main/java.lang.RuntimeException:无法启动活动组件信息{com.devlopers.colorplay/com.devlopers.colorplay.MainActivity}:java.lang.NullPointerException:尝试在上调用虚拟方法'int-android.media.SoundPool.load(android.content.Context,int,int)'如果有人知道,请帮我解决问题

检查您是否以正确的方式初始化了声音池

if (Build.VERSION.SDK_INT >= 21 ) {

           AudioAttributes audioAttrib = new AudioAttributes.Builder()
                   .setUsage(AudioAttributes.USAGE_GAME)
                   .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
                   .build();

           SoundPool.Builder builder= new SoundPool.Builder();
           builder.setAudioAttributes(audioAttrib).setMaxStreams(MAX_STREAMS);

           this.soundPool = builder.build();
       }
       // for Android SDK < 21
       else {
           // SoundPool(int maxStreams, int streamType, int srcQuality)
           this.soundPool = new SoundPool(MAX_STREAMS,          AudioManager.STREAM_MUSIC, 0);
       }
使用“已加载”标志播放声音。如果为真,则只调用“播放”

详细参考:

发布MainActivity.java和清单文件。
// When Sound Pool load complete.
       this.soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
           @Override
           public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
               loaded = true;
           }
       });