`

选择音频的输出方式

阅读更多
可以选择用耳机还是扬声器播放(蓝牙的就留到下次吧),要求SDK不小于5
public class MainActivity extends Activity implements OnClickListener {

	private AudioManager mAudioManager;
	private MediaPlayer mMediaPlayer;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		mAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE);

		mMediaPlayer = new MediaPlayer();
		mMediaPlayer.reset();
		try {
			File audio = new File(Environment.getExternalStorageDirectory(),
					"/Music/xxx.mp3");
			mMediaPlayer.setDataSource(audio.getAbsolutePath());
			mMediaPlayer.prepare();
			mMediaPlayer.setOnPreparedListener(new PrepareListener());
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (IllegalStateException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		findViewById(R.id.btn_speaker).setOnClickListener(this);
		findViewById(R.id.btn_headset).setOnClickListener(this);
		findViewById(R.id.btn_bluetooth).setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {

		int id = v.getId();
		switch (id) {
		case R.id.btn_speaker:

//			if (!mAudioManager.isSpeakerphoneOn())
//				return;

			mAudioManager.setMode(AudioManager.ROUTE_SPEAKER);
			mAudioManager.setSpeakerphoneOn(true);

			break;
		case R.id.btn_headset:

//			if (!mAudioManager.isWiredHeadsetOn())
//				return;

			mAudioManager.setMode(AudioManager.MODE_NORMAL);
			mAudioManager.setWiredHeadsetOn(true);

			break;
		case R.id.btn_bluetooth:

			break;
		default:
			break;
		}
	}

	@Override
	protected void onDestroy() {

		// change mode back to normal
		mAudioManager.setMode(AudioManager.MODE_NORMAL);

		// release resource, important
		mMediaPlayer.stop();
		mMediaPlayer.release();
		mMediaPlayer = null;

		super.onDestroy();
	}

	private final class PrepareListener implements OnPreparedListener {

		public void onPrepared(MediaPlayer mp) {
			mMediaPlayer.start();
		}
	}
}
分享到:
评论

相关推荐

    C#切换windows默认音频设备

    C# 写的利用查找句柄切换默认音频~不是利用音频输出,是直接切换,里面是测试代码,打开程序,点击 1-9任意调出,即可获得光标。所以接下来大家应该懂得。

    c#windows修改音频默认设备

    自动获取音频输入输出设备,选择特定设备后设置成默认

    python实现音频添加隐写数据

    python实现音频添加隐写数据 1. 解析音频格式: ... 为了增强音频水印的鲁棒性,在通过判断音频文件的大小后选择相应的范围数添加隐写数据 从而使音频即便被截断也可通过相似度方式查看是否包含隐写数据

    带回声消除功能的DirectSound音频采集

    采用directsound的DirectSoundFullDuplexCreate8创建全双工音频采集,启用AEC效果,让采集出的声音没有回声,即音频通话中的回声消除效果,全双工音频的启用在windowsXP下可用,若系统有声音输出,aec将会失败,启用...

    输出端子.doc

     •同轴、光纤数字音频输出端子,适用于配接带AC-3解码器的功率放大器。  三种视频输出端子分别是:  •视频混合输出端子,即AV端子的V端子,一般为黄色。  •超级视频输出,即S端子,通过专用的S端子线与电视机...

    高品质音频播放器HQPlayerDesktop3.20.4特别版(附32位64位和谐补丁安装教程)

    HQPlayer Desktop是一款功能强大的高品质音频播放器,HQPlayer具有Delta-Sigma调制器、支持...它绕过了系统默认的音频输出方式,独占声卡,同时它也是世界上最贵的音乐播放器,需要1000RMB,不过,本次带来了HQPlayer

    MS1825-DEMO 样机使用说明文档

    4K@30Hz),一路 L/R 模拟音频输出,一路 SPDIF 数字音频输出(跟随 HDMI OUT1 选择输入音频通道)。可实 现拼接器、分割器、矩阵切换器、无缝矩阵切换等功能,功能切换通过按键及红外遥控进行控制。 1、 分割器模式...

    Loopback.zip loopback: 2.1.4 轻松在Mac上的应用程序之间传递音频

    如此之多……回送为您提供了无与伦比的功能,并可以控制Mac周围以及应用程序之间的音频路由方式。我们迫不及待想听听您为它找到的令人难以置信的新用途! 可以与任何应用程序一起使用使用Mac上的应用程序(包括...

    WT588D语音模块组语音芯片(可反复擦写)高音质语音下载16P-32M-33

    音质和输出:WT588D语音模块具有较好的音质表现,并且支持多种输出方式,如PWM脉宽调制输出、模拟音频输出或数字音频输出。 扩展性:WT588D语音模块还支持外部扩展存储器,通过连接外部闪存芯片可以扩展更多的音频...

    用于音频数据传输的常见IC间数字接口

    因此,音频系统架构师正在将音频信号链中的模拟部分进一步推至输出和输入端,而相互间以数码方式连接起来。  如图1所示,传统的音频信号链中有麦克风、前置放大器、模/数转换器(ADC)、数/模转换器(DAC)、...

    开源免费音频转换工具 LameXP 4.19 Build 2304 RC 4 中文多语免费版.zip

    它可以让你用图形界面的方式来为自己的音乐进行高质量编码转换,同时还支持多线程和多核心处理器。 开源免费音频转换工具 LameXP 中文多语免费版开源免费音频转换工具 LameXP 中文多语免费版 LameXP 功能特色 简单...

    LCD液晶显示模块功耗的测量方法

    说明K1 K2 K3 是LCD模块的设置开关K1 是WDT 选择开关闭合时打开WDT 否则关闭WDT K2 是TONE 选择开关闭合时打开音频输出否则关闭K3 是LCD 模块振荡器选择开关K3 闭合时是选择外部32.768K 晶振否则选择内部RC 振荡器...

    模拟技术中的ME5103:超低EMI免滤波器D类音频功放

    ME5103 是一款输出功率为3W的免滤波器差分输入D... ME5103是一款PWM型免滤波器D类音频功率放大器,该功率放大器采用频率为250kHz的双边三角波为载波的PWM调制方式,内部设有前置运算放大器、振荡器、脉宽调制比较器、

    Aiseesoft Screen Recorder v2.5.6 屏幕捕捉软件能够帮助您录制在线播放的音频或者视频

    采用先进的实时高清视频编码技术,确保录制的音频和视频的质量,Aiseesoft屏幕录像机获取最简单但专业的方式来记录屏幕并在此处拍摄快照。 Aiseesoft屏幕录像机是捕获Mac或Windows计算机上任何活动的最佳屏幕录像...

    TextAloud MP3 v4.0.32.zip

    TextAloud MP3是利用监视剪贴板的方式来抓取所要发声的文字(所以用户也可以直接使用复制文本的方式来启动TextAloud MP3),当你进行了复制操作后,TextAloud MP3可以让你自由选择操作方式,是新建一个文本,附加到...

    4KVideoDownloader

    此外,可以使程序从视频文件中提取音频,然后可以选择输出格式和目的地。您可以将音频文件保存为以下文件格式:MP3,M4A或OGG。 4k Video Downloader提供了一种智能模式,可帮助您以最简单的方式抓取视频文件。您...

    模拟技术中的用于音频数据传输的常见IC间数字接口

    因此,音频系统架构师正在将音频信号链中的模拟部分进一步推至输出和输入端,而相互间以数码方式连接起来。  如图1所示,传统的音频信号链中有麦克风、前置放大器、模/数转换器(ADC)、数/模转换器(DAC)、...

    声卡虚拟示波器,虚拟万用表

    因此,在音频信号的测试范畴,Vtools是您最佳的选择。 [综合性能指标] 通道数目:双通道 输入电压:Vpp(LineIn) 、Vpp(MacIn) 、Max Vrms(使用本工作室提供的衰减器) 基本功能:时域信号显示分析、频域...

    ME5103:超低EMI免滤波器D类音频功放

    ME5103 是一款输出功率为3W的免滤波器差分输入D... ME5103是一款PWM型免滤波器D类音频功率放大器,该功率放大器采用频率为250kHz的双边三角波为载波的PWM调制方式,内部设有前置运算放大器、振荡器、脉宽调制比较器、

    SRS专利音效

    用户能完全控制并按照个人偏好个性化地设置他们的系统,包括选择扬声器或耳机作为输出方式,以及通过高级控制面板调节多种音频设置。 热爱至纯音乐的人将会喜爱的HAL还原的数字音乐的清晰度和逼真度,和扬声器低音响应...

Global site tag (gtag.js) - Google Analytics