2011.08.12(2)——— android MediaPlayer听筒播放

要实现听筒播放 只需在上一博客的基础上 增加AudioManager即可

am.setSpeakerphoneOn(false);setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);am.setMode(AudioManager.MODE_IN_CALL);


增加上面3行代码即可

完整代码如下:


package com.lp;import java.io.IOException;import android.app.Activity;import android.content.Context;import android.media.AudioManager;import android.media.MediaPlayer;import android.media.MediaPlayer.OnCompletionListener;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button play;private Button stop;private boolean isReleased= false;private boolean isPlaying= false;private MediaPlayer mMediaPlayer = new MediaPlayer();private AudioManager am;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        play = (Button)findViewById(R.id.main_play);        stop = (Button)findViewById(R.id.main_stop);        am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);        play.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {am.setSpeakerphoneOn(false);setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);am.setMode(AudioManager.MODE_IN_CALL);try{if ( !isPlaying ){/* 装载资源中的音乐 */mMediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.test2);isPlaying = true;isReleased = false;/* 设置是否循环 */mMediaPlayer.setLooping(true);//mMediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);try{mMediaPlayer.prepare();}catch (IllegalStateException e){e.printStackTrace();}catch (IOException e){e.printStackTrace();}mMediaPlayer.start();}}catch (IllegalStateException e){e.printStackTrace();}mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {// @Overridepublic void onCompletion(MediaPlayer arg0){mMediaPlayer.release(); am.setMode(AudioManager.MODE_NORMAL);}});}        });                stop.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if(isPlaying&&!isReleased){isReleased = true;mMediaPlayer.stop();mMediaPlayer.release();isPlaying = false;am.setMode(AudioManager.MODE_NORMAL);}}});    }}

更多相关文章

  1. 解决android sdk中找不到tools目录Android(安卓)sdkmanager tool
  2. Android(安卓)学习笔记 Contacts (三)Contacts 查找,增加,更新,删除联
  3. Android(安卓)Studio中断开SVN连接
  4. Android(安卓)Studio3.3部分断点不生效解决方法
  5. android 学习笔记
  6. android工程下运行main方法的配置方法
  7. Ubuntu Android开发环境配置
  8. Fedora 下配置 Android(安卓)开发环境
  9. edittext 随文字换行 而高度增加

随机推荐

  1. android中图片倒影、圆角效果重绘
  2. Android(安卓)Bundle类
  3. 利用Handler来更新android的UI
  4. 【Android】java.lang.SecurityException
  5. Android(安卓)DEX安全攻防战
  6. Animation
  7. Android开发工具配置大全
  8. 关于Android动态权限的一些疑问
  9. android 左上角返回上一级的实现
  10. Android(安卓)Button 点击时替换背景颜色