关于网友提出的“播放短信铃声问题”问题疑问,本网通过在网上对“播放短信铃声问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:播放短信铃声问题描述:
本帖最后由 riyuexingchen1204 于 2011-02-10 10:33:29 编辑
各位新年好!我想问下怎么播放手机中的短信铃声。之前在网上找了段代码
//播放铃声
try {
MediaPlayer mp = new MediaPlayer();
mp.reset();
mp.setDataSource(context,RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
mp.prepare();
mp.start();
} catch (Exception e) {
e.printStackTrace();
}
这个只能播放提示的声音。
请大家帮帮忙。谢谢。
解决方案1:
你吧播放的内容换了不就可以了
解决方案2: http://aina-hk55hk.javaeye.com/blog/709091
这里面有写,自己看看
mp.setDataSource(context,RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
这样写就是播放默认的铃音了
改成这样就好了
mp.setDataSource(String path);path是指你要播放的铃音的路径:比如(/sdcard/music/a.mp3)
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(){
c />
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();
}
}