播放短信铃声问题

来源:互联网  时间:2016/5/5 15:09:43

关于网友提出的“播放短信铃声问题”问题疑问,本网通过在网上对“播放短信铃声问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:播放短信铃声问题
描述:

本帖最后由 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
这里面有写,自己看看

解决方案3:

mp.setDataSource(context,RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
这样写就是播放默认的铃音了
改成这样就好了
mp.setDataSource(String path);path是指你要播放的铃音的路径:比如(/sdcard/music/a.mp3)

解决方案4:

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();
    }  
}

上一篇网站SEO优化价格误区
下一篇关于android布局中的横竖屏切换的问题
明星图片
相关文章
《播放短信铃声问题》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)