Android 聽筒播放模式實現代碼
package com.example.media;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 AAA extends Activity { private Button play;//播放 private Button stop;//停止 private AudioManager am;//提供訪問控制音量和鈐聲模式的操作 private boolean isReleased = false; private boolean isPlaying = false; private MediaPlayer mMediaPlayer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); play = (Button) findViewById(R.id.main_play); stop = (Button) findViewById(R.id.main_stop); play.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { am = (AudioManager) getSystemService(Context.AUDIO_SERVICE); //聽筒模式下設置為false am.setSpeakerphoneOn(false); //設置成聽筒模式 am.setMode(AudioManager.MODE_IN_CALL); //設置為通話狀態 setVolumeControlStream(AudioManager.STREAM_VOICE_CALL); try { if (!isPlaying) { mMediaPlayer = MediaPlayer.create(AAA.this, R.raw.man); isPlaying = true; isReleased = false; mMediaPlayer.setLooping(true); try { mMediaPlayer.prepare(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } mMediaPlayer.start(); } } catch (IllegalStateException e) { e.printStackTrace(); } //播放完畢監聽 mMediaPlayer.setOnCompletionListener(new OnCompletionListener() { public void onCompletion(MediaPlayer arg0) { mMediaPlayer.release(); //設置回正常模式 am.setMode(AudioManager.MODE_NORMAL); } }); } }); stop.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (isPlaying && !isReleased) { isReleased = true; mMediaPlayer.stop(); mMediaPlayer.release(); isPlaying = false; //停止播放設置為正常狀態 am.setMode(AudioManager.MODE_NORMAL); } } }); } } </pre>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!