播放短信铃声问题 本帖最后由 riyuexingchen1204 于 2011-02-10 10:33:29 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package demo.media; import android.app.Activity;import android.os.Bundle;import android.widget.Button;import android.widget.Toast;import android.view.ViewGroup.LayoutParams;import android.view.View;import android.view.View.OnClickListener;import android.media.MediaPlayer;import android.media.MediaPlayer.OnCompletionListener; public class MediaTest01 extends Activity{ protected MediaPlayer mediaPlayer; protected Button controlButton; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initializeMediaPlayer(); initializeView(); } //初始化声音 private void initializeMediaPlayer(){ mediaPlayer=MediaPlayer.create(this, R.raw.sound_test); mediaPlayer.setOnCompletionListener(new OnCompletionListener(){ public void onCompletion(MediaPlayer player) { controlButton.setText("Play"); releaseMediaPlayer(); } }); } //初始化视图界面 private void initializeView(){ controlButton=new Button(this); LayoutParams params=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); setContentView(R.layout.main); addContentView(controlButton, params); controlButton.setOnClickListener(new OnClickListener(){ public void onClick(View v){ MediaTest01.this.handleControlButtonClick(); } }); if(mediaPlayer.isPlaying()){ controlButton.setText("Stop"); }else{ controlButton.setText("Play"); } } //处理按钮动作 public void handleControlButtonClick(){ if(!mediaPlayer.isPlaying()){ this.playSound(); }else{ this.stopSound(); } } } //播放声音 private void playSound(){ Toast.makeText(this,"Play",Toast.LENGTH_SHORT).show(); releaseMediaPlayer(); initializeMediaPlayer(); mediaPlayer.start(); controlButton.setText("Stop"); } //停止声音 private void stopSound(){ Toast.makeText(this,"Stop",Toast.LENGTH_SHORT).show(); mediaPlayer.stop(); controlButton.setText("Play"); } //释放播放器资源 private void releaseMediaPlayer(){ if(mediaPlayer!=null){ mediaPlayer.release(); mediaPlayer=null; } } @Override protected void onDestroy(){ super.onDestroy(); releaseMediaPlayer(); } } mp.setDataSource(context,RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));这样写就是播放默认的铃音了改成这样就好了mp.setDataSource(String path);path是指你要播放的铃音的路径:比如(/sdcard/music/a.mp3) http://aina-hk55hk.javaeye.com/blog/709091这里面有写,自己看看 我获取不到短信铃声的地址啊,要是知道就行了。你知道如何获取短信铃声的uri或者filepath吗?谢谢。 3G Android资料分享 NDK里面socket connect总是返回-1 Android数据库打包 复制问题? 通过webVIew加载uri打开另外一个程序 android蓝牙对战游戏,代码出错 谁能帮忙解释下 ACTION_MOVE 里的一些问题 救急:这个ITelephony 的错误怎么解决? ListView使用中的一点问题 关于android调用.net Webservice 推荐一份Android APP毕业论文 菜鸟请教高手关于XML的一些问题 Android一直在几个大字里面循环不能进入系统
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.Toast;
import android.view.ViewGroup.LayoutParams;
import android.view.View;
import android.view.View.OnClickListener;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
public class MediaTest01 extends Activity{
protected MediaPlayer mediaPlayer;
protected Button controlButton;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initializeMediaPlayer();
initializeView();
}
//初始化声音
private void initializeMediaPlayer(){
mediaPlayer=MediaPlayer.create(this, R.raw.sound_test);
mediaPlayer.setOnCompletionListener(new OnCompletionListener(){
public void onCompletion(MediaPlayer player) {
controlButton.setText("Play");
releaseMediaPlayer();
}
});
}
//初始化视图界面
private void initializeView(){
controlButton=new Button(this);
LayoutParams params=new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
setContentView(R.layout.main);
addContentView(controlButton, params);
controlButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
MediaTest01.this.handleControlButtonClick();
}
});
if(mediaPlayer.isPlaying()){
controlButton.setText("Stop");
}else{
controlButton.setText("Play");
}
}
//处理按钮动作
public void handleControlButtonClick(){
if(!mediaPlayer.isPlaying()){
this.playSound();
}else{
this.stopSound();
}
}
}
//播放声音
private void playSound(){
Toast.makeText(this,"Play",Toast.LENGTH_SHORT).show();
releaseMediaPlayer();
initializeMediaPlayer();
mediaPlayer.start();
controlButton.setText("Stop");
}
//停止声音
private void stopSound(){
Toast.makeText(this,"Stop",Toast.LENGTH_SHORT).show();
mediaPlayer.stop();
controlButton.setText("Play");
}
//释放播放器资源
private void releaseMediaPlayer(){
if(mediaPlayer!=null){
mediaPlayer.release();
mediaPlayer=null;
}
}
@Override
protected void onDestroy(){
super.onDestroy();
releaseMediaPlayer();
}
}
这样写就是播放默认的铃音了改成这样就好了
mp.setDataSource(String path);path是指你要播放的铃音的路径:比如(/sdcard/music/a.mp3)
这里面有写,自己看看