package com.DeviceTest;
|
|
import static android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN;
|
import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
|
|
import java.io.FileDescriptor;
|
import java.io.IOException;
|
|
import com.DeviceTest.helper.ControlButtonUtil;
|
|
import android.app.Activity;
|
import android.content.Intent;
|
import android.content.res.AssetFileDescriptor;
|
import android.media.AudioManager;
|
import android.media.MediaPlayer;
|
import android.media.MediaRecorder;
|
import android.os.Bundle;
|
import android.os.Handler;
|
import android.os.Vibrator;
|
import android.view.KeyEvent;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.widget.Button;
|
import android.widget.TextView;
|
|
public class SpeakerTestActivity extends Activity {
|
private AudioManager mAudioManager;
|
private MediaPlayer mPlayer;
|
private int mOldVolume;
|
private boolean mSpeakerOn;
|
|
private Button leftButton;
|
private Button rightButton;
|
|
private boolean leftEnable = true;
|
private boolean rightEnable = true;
|
|
|
protected void onCreate(Bundle paramBundle) {
|
super.onCreate(paramBundle);
|
|
|
setTitle(getTitle() + "----("
|
+ getIntent().getStringExtra(DeviceTest.EXTRA_TEST_PROGRESS) + ")");
|
//requestWindowFeature(Window.FEATURE_NO_TITLE);
|
getWindow().addFlags(FLAG_FULLSCREEN | FLAG_KEEP_SCREEN_ON);
|
|
setContentView(R.layout.speakertest);
|
TextView txtTitle = (TextView) findViewById(R.id.txtTitle);
|
TextView txtContent = (TextView) findViewById(R.id.txtContent);
|
txtTitle.setText(R.string.SpeakerTitle);
|
txtContent.setText(getString(R.string.SpeakerTip));
|
|
mAudioManager = (AudioManager) getSystemService("audio");
|
mPlayer = new MediaPlayer();
|
try {
|
// mPlayer.setDataSource("/system/media/audio/ringtones/CrazyDream.ogg");
|
AssetFileDescriptor fd = getAssets().openFd("test_music.mp3");
|
mPlayer.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(),
|
fd.getDeclaredLength());
|
|
mPlayer.prepare();
|
mPlayer.setLooping(true);
|
} catch (IllegalArgumentException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} catch (IllegalStateException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} catch (IOException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
leftButton = (Button) findViewById(R.id.spk_btn_left);
|
leftButton.setOnClickListener(new OnClickListener() {
|
|
|
public void onClick(View v) {
|
leftEnable = !leftEnable;
|
updateButtons();
|
}
|
});
|
|
rightButton = (Button) findViewById(R.id.spk_btn_right);
|
rightButton.setOnClickListener(new OnClickListener() {
|
|
|
public void onClick(View v) {
|
rightEnable = !rightEnable;
|
updateButtons();
|
}
|
});
|
updateButtons();
|
|
ControlButtonUtil.initControlButtonView(this);
|
|
}
|
|
protected void updateButtons() {
|
leftButton.setText("left " + (leftEnable ? "enabled" : "disabled"));
|
rightButton.setText("right " + (rightEnable ? "enabled" : "disabled"));
|
|
mPlayer.setVolume(leftEnable ? 1 : 0, rightEnable ? 1 : 0);
|
}
|
|
protected void onDestroy() {
|
super.onDestroy();
|
mPlayer.stop();
|
if (this.mPlayer == null) {
|
return;
|
}
|
this.mPlayer.release();
|
this.mPlayer = null;
|
}
|
|
protected void onPause() {
|
super.onPause();
|
this.mAudioManager.setStreamSolo(AudioManager.STREAM_MUSIC, false);
|
this.mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
|
this.mOldVolume, 0);
|
if (this.mSpeakerOn)
|
return;
|
this.mAudioManager.setSpeakerphoneOn(false);
|
|
}
|
|
protected void onResume() {
|
super.onResume();
|
stopMediaPlayBack();
|
this.mAudioManager.setStreamSolo(AudioManager.STREAM_MUSIC, true);
|
int i = this.mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
|
mOldVolume = i;
|
int j = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
|
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, j, 0);
|
this.mSpeakerOn = this.mAudioManager.isSpeakerphoneOn();
|
if (!this.mSpeakerOn) {
|
this.mAudioManager.setSpeakerphoneOn(true);
|
}
|
this.mPlayer.start();
|
|
}
|
|
private void stopMediaPlayBack() {
|
Intent i = new Intent("com.android.music.musicservicecommand");
|
i.putExtra("command", "pause");
|
sendBroadcast(i);
|
|
}
|
|
public boolean dispatchKeyEvent(KeyEvent event) {
|
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
|
return false;
|
}
|
return super.dispatchKeyEvent(event);
|
}
|
}
|