Я хочу запустить программу, когда фон не мигает красным, а мигает только во время активного звука, когда он останавливается на черном цвете.В настоящее время всякий раз, когда я применяю метод паузы, он останавливается только при нажатии кнопки.Кроме того, программа начинает мигать, что является нет-нет.
package com.boss.joke;
import android.graphics.Color;
import android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.ColorDrawable;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.opengl.GLES20;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.MobileAds;
import javax.microedition.khronos.opengles.GL10;
public class MainActivity extends AppCompatActivity {
private AdView mAdView;
private InterstitialAd mInterstitialAd;
private static ImageView imgview;
private static Button buttonsbm;
private int current_image;
int[]images={R.drawable.but,R.drawable.nazi};
private OpenGLView openGLView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
openGLView = (OpenGLView) findViewById(R.id.openGLView);
buttonclick();
}
@Override
public void onPause(){
super.onPause();
openGLView.onPause();
}
@Override
public void onResume(){
super.onResume();
openGLView.onResume();
}
public void buttonclick()
{
imgview=(ImageView) findViewById(R.id.imageView10);
buttonsbm=(Button)findViewById(R.id.play);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
final MediaPlayer appMP = MediaPlayer.create(this, R.raw.app);
Button play = (Button) this.findViewById(R.id.playfascist);
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
current_image++;
current_image=current_image%images.length;
imgview.setImageResource(images[current_image]);
appMP.start();
// mInterstitialAd.loadAd(new AdRequest.Builder().build());
// mInterstitialAd.isLoaded();
/* {
try {
Thread.sleep(7500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}*/
// mInterstitialAd.show();
}
});
}
}
Пакет OpenGlView com.boss.fascist;
import android.content.Context;
import android.opengl.GLSurfaceView;
import android.util.AttributeSet;
import java.util.jar.Attributes;
public class OpenGLView extends GLSurfaceView {
public OpenGLView(Context context) {
super(context);
init();
}
public OpenGLView(Context context, AttributeSet attrs){
super(context, attrs);
init();
}
private void init(){
setEGLContextClientVersion(2);
setPreserveEGLContextOnPause(true);
setRenderer(new OpenGLRenderer());
}
}
Пакет OpenGLRenderer com.boss.fascist;
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
public class OpenGLRenderer implements GLSurfaceView.Renderer {
private double redValue =1f;
private static final double FLASH_DURATION = 1000;
@Override
public void onSurfaceCreated(GL10 gl10, EGLConfig config) {
// Set the background frame color
GLES20.glClearColor((float) redValue, 0, 0, 1f);
}
@Override
public void onSurfaceChanged(GL10 gl10, int i, int i1) {
//GLES20.glViewport(0, 0, width, height);
}
@Override
public void onDrawFrame(GL10 gl10) {
GLES20.glClearColor((float) redValue, 0, 0, 1f);
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
// Redraw background color redValue((Math.sin(System.currentTimeMillis()*1.5*Math.PI/FLASH_DURATION)*1)+1);
}
}