Android播放系统声音源码

来源:互联网 发布:淘宝中老年夏季女装 编辑:程序博客网 时间:2024/04/28 08:58
private boolean playFlag = false;private MediaPlayer mplayer = null;private MediaPlayer ring() throws Exception, IOException {Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);MediaPlayer player = new MediaPlayer();player.setDataSource(this, alert);final AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);if (audioManager.getStreamVolume(AudioManager.STREAM_NOTIFICATION) != 0) {player.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);}return player;}public void onClickTest(View v) {Button btn = (Button) v;if (playFlag) {mplayer.stop();btn.setText("暂停中");} else {mplayer.setLooping(true);try {mplayer.prepare();} catch (IllegalStateException e) {// TODO 自动生成的 catch 块e.printStackTrace();} catch (IOException e) {// TODO 自动生成的 catch 块e.printStackTrace();}mplayer.start();btn.setText("播放中");}playFlag = !playFlag;}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button b = (Button) findViewById(R.id.button1);b.setText("暂停中");try {mplayer = ring();} catch (IOException e) {// TODO 自动生成的 catch 块e.printStackTrace();} catch (Exception e) {// TODO 自动生成的 catch 块e.printStackTrace();}}

1 0