纠结半天了
java代码如下:package net.blogjava.mobile;import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AlphaAnimation;
import android.widget.Button;public class Main extends Activity implements OnClickListener,
OnCompletionListener
{
private MediaPlayer mediaPlayer;
private Button btnPause; @Override
public void onCompletion(MediaPlayer mp)
{
mp.release();
setTitle("资源已经释放");
} @Override
public void onClick(View view)
{
try
{
switch (view.getId())
{
case R.id.btnStart1:
mediaPlayer = MediaPlayer.create(this, R.raw.music);
mediaPlayer.setOnCompletionListener(this);
if (mediaPlayer != null)
mediaPlayer.stop();
mediaPlayer.prepare();
mediaPlayer.start();
break; case R.id.btnStart2:
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("/sdcard/music.mp3"); mediaPlayer.prepare();
mediaPlayer.start();
break;
case R.id.btnStop:
if (mediaPlayer != null)
{
mediaPlayer.stop();
}
break;
case R.id.btnPause:
if (mediaPlayer != null)
{
if ("播放".equals(btnPause.getText().toString()))
{
mediaPlayer.start();
btnPause.setText("暂停");
}
else if ("暂停".equals(btnPause.getText().toString()))
{
mediaPlayer.pause();
btnPause.setText("播放");
}
}
}
}
catch (Exception e)
{ } } @Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnStart1 = (Button) findViewById(R.id.btnStart1);
Button btnStart2 = (Button) findViewById(R.id.btnStart2);
Button btnStop = (Button) findViewById(R.id.btnStop);
btnPause = (Button) findViewById(R.id.btnPause);
btnStart1.setOnClickListener(this);
btnStart2.setOnClickListener(this);
btnStop.setOnClickListener(this);
btnPause.setOnClickListener(this); }
}布局文件如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <Button
android:id="@+id/btnStart1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="播放MP3资源文件" /> <Button
android:id="@+id/btnStart2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="播放SD卡中的MP3文件" /> <Button
android:id="@+id/btnStop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="停止" /> <Button
android:id="@+id/btnPause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂停" /></LinearLayout>
java代码如下:package net.blogjava.mobile;import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AlphaAnimation;
import android.widget.Button;public class Main extends Activity implements OnClickListener,
OnCompletionListener
{
private MediaPlayer mediaPlayer;
private Button btnPause; @Override
public void onCompletion(MediaPlayer mp)
{
mp.release();
setTitle("资源已经释放");
} @Override
public void onClick(View view)
{
try
{
switch (view.getId())
{
case R.id.btnStart1:
mediaPlayer = MediaPlayer.create(this, R.raw.music);
mediaPlayer.setOnCompletionListener(this);
if (mediaPlayer != null)
mediaPlayer.stop();
mediaPlayer.prepare();
mediaPlayer.start();
break; case R.id.btnStart2:
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("/sdcard/music.mp3"); mediaPlayer.prepare();
mediaPlayer.start();
break;
case R.id.btnStop:
if (mediaPlayer != null)
{
mediaPlayer.stop();
}
break;
case R.id.btnPause:
if (mediaPlayer != null)
{
if ("播放".equals(btnPause.getText().toString()))
{
mediaPlayer.start();
btnPause.setText("暂停");
}
else if ("暂停".equals(btnPause.getText().toString()))
{
mediaPlayer.pause();
btnPause.setText("播放");
}
}
}
}
catch (Exception e)
{ } } @Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnStart1 = (Button) findViewById(R.id.btnStart1);
Button btnStart2 = (Button) findViewById(R.id.btnStart2);
Button btnStop = (Button) findViewById(R.id.btnStop);
btnPause = (Button) findViewById(R.id.btnPause);
btnStart1.setOnClickListener(this);
btnStart2.setOnClickListener(this);
btnStop.setOnClickListener(this);
btnPause.setOnClickListener(this); }
}布局文件如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <Button
android:id="@+id/btnStart1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="播放MP3资源文件" /> <Button
android:id="@+id/btnStart2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="播放SD卡中的MP3文件" /> <Button
android:id="@+id/btnStop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="停止" /> <Button
android:id="@+id/btnPause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂停" /></LinearLayout>
解决方案 »
- Java程序移植到Android上容易吗?
- android xml布局超出一个界面
- android 关于root权限获取的疑问
- locationManager.requestLocationUpdates 设置时间没用啊!
- 话题:能否利用NDK把第三方so文件打入apk中
- Android下的PIP(画中画)功能怎么实现?使用OverLay层还是Skia的多Layer?那里可以找到PIP的例子?
- 求助:WIFI获取IP地址失败
- android socket编程使用线程
- Service的疑惑?望赐教!
- 上下文菜单没出来,不解,求大神指点(照着android编程权威指南做的)
- 请问如何在Android平台上支持Airplay协议?
- wifi hostpot android4 UI问题
自己定义更新Seekbar的频率实现同步。
<SeekBar
android:id="@+id/voiceseekbar"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:maxHeight="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
/>代码如下:private SeekBar soundBar;
private AudioManager mAudioManager = null;
soundBar = (SeekBar) findViewById(R.id.voiceseekbar);
//Activity改改
mAudioManager = (AudioManager) Activity.this
.getSystemService(JHTPlayVideoActivity.AUDIO_SERVICE);
int maxSound = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
int curSound = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
soundBar.setMax(maxSound);
soundBar.setProgress(curSound);
soundBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
public void onStopTrackingTouch(SeekBar seekBar) {
} public void onStartTrackingTouch(SeekBar seekBar) {
} public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
if (fromUser) {
curSound = soundBar.getProgress();
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
curSound, 0);
}
}
});嗯差不多了