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 异步任务加载图片代码
  2. Android常用功能代码总结一
  3. android在java代码中绘制矩形框
  4. 用ant实现自动打包android(二) -- android代码混淆
  5. Android通过WebView调用 JS 代码
  6. Android下为自己定义WifiManager类wifi模块代码
  7. 如何提高android代码质量
  8. Android日志系统Logcat源代码简要分析

随机推荐

  1. Android(安卓)ANR问题原因分析
  2. 只需轻松点两下,人人都会设计的 Logo 图!
  3. Android包管理机制
  4. 搭建云服务器
  5. 【Android(安卓)ApkTool 反编译获取源码
  6. 在Google Pixel上找不到的11个有用的Sams
  7. 很通俗易懂的概念Activity,Window,DecorV
  8. Android(安卓)ProgressBar 详解 改变 Pro
  9. android camera 框架总述
  10. Android多线程的实现方式及使用场景