android开发中,beats耳机音质怎么样录音,如何保证beats耳机音质怎么样内部

android开发中,带有麦克风的耳机一边听歌一边录音,语音来源设置的是AudioSource.MIC,为什么录音的结果中含有耳机内部的歌声
[问题点数:40分]
本版专家分:0
CSDN今日推荐
匿名用户不能发表回复!|
其他相关推荐I've tried the recommended
setSpeakerphoneOn(true)
and the unrecommended
AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_SPEAKER);
but neither has worked.
I've tried
setWiredHeadsetOn(false)
but that doesn't work either, and is deprecated.
Interestingly,
isSpeakerphoneOn()
reports true, as does
isWiredHeadsetOn()
Additionally, the following permission is set
&uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /&
解决方案 The answer turned out to be the following, with tips from
audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setSpeakerphoneOn(true);
Ignore setRouting, it does nothing in APK > 10.
Ignore comments about setMode.
Ignore comments about setWiredHeadsetOn.
Make sure you have MODIFY_AUDIO permissions.
本文地址: &
我已经试过推荐
setSpeakerphoneOn(真)
和unrecommended
AudioSystem.setForceUse(AudioSystem.FOR_MEDIA,AudioSystem.FORCE_SPEAKER);
但没有工作过。
setWiredHeadsetOn(假)
但是,这并不管用,而且是去precated。
有趣的是,
isSpeakerphoneOn()
报告真实,象
isWiredHeadsetOn()
此外,以下权限设置
<使用-权限的Android:名称=“android.permission.MODIFY_AUDIO_SETTINGS”/>
解决方案 答案竟然是以下,从技巧
Android - 将音频通过耳机播放
audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setSpeakerphoneOn(真正的);
忽略setRouting,它什么都不做的APK> 10.忽略关于setMode意见。忽略有关setWiredHeadsetOn意见。请确保您有MODIFY_AUDIO权限。
本文地址: &
扫一扫关注IT屋
微信公众号搜索 “ IT屋 ” ,选择关注
与百万开发者在一起
(window.slotbydup = window.slotbydup || []).push({
id: '5828425',
container: s,
size: '300,250',
display: 'inlay-fix'21ic官方微信-->
当前位置: /
/ 基于安卓手机音频耳机接口的数据采集和处理APP
选择承包方
项目工作中
基于安卓手机音频耳机接口的数据采集和处理APP
发布时间:
截止时间:
项目周期:
已有竞标:
项目标签:
项目预算:¥50000
当前预算:¥50000潜在追加预算:暂无远期可能追加投入:暂无
现居地址: 丰台区 东铁匠营街道
竞标并认证后可查看联系方式
个人&团队:
扫码分享项目
竞标并认证后可查看联系方式
项目内容描述
人气:1274
身份认证会员
竞标者(6)
通过认证后,可查看发包方联系方式。
北京市 海淀区
广东省 东莞市
北京市 昌平区
广东省 韶关市
广东省 广州市
北京市 海淀区
给发包方留言
留言内容不能为空且不能大于500字
手机认证后方可留言哦~
我做样板贴片焊接的有需要可以加我,QQ:
此项目现处于 已过期 状态
上次登录时间:
会员身份:
注册时间: 14:39
发包数量:
中标次数:
竞争最激烈的项目TOP10
已有61位竞
已有50位竞
已有43位竞
已有37位竞
已有36位竞
已有35位竞
已有34位竞
已有32位竞
已有29位竞
已有29位竞
4K-6K江苏省 苏州市|不限|不限
昆山迪赛纳电子科技有限公司
6K-8K江苏省 苏州市|不限|本科
昆山迪赛纳电子科技有限公司
6K-8K江苏省 苏州市|不限|专科
昆山迪赛纳电子科技有限公司
25K-35K广东省 深圳市|不限|博士
10K-15K广东省 深圳市|1-3年|本科
发包方预算:前期:¥10,000-¥50,000中期:¥10,000-¥50,000后期:¥10,000-¥50,000
天发包方要求的开发时间:
可以给出具体项目周期
暂时无法给出具体周期,需要详谈
联系方式:
竞标方案:
客服QQ 客服QQ:&>&android 耳机孔传输数据 音频通信
android 耳机孔传输数据 音频通信
上传大小:342KB
android 耳机孔传输数据 音频通信
综合评分:4
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有37条
很好,可以试用,赞一个
为了积分凑字
简单了点,主要内容在底层库
VIP会员动态
热门资源标签
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
android 耳机孔传输数据 音频通信
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*投诉人姓名:
*投诉人联系方式:
*版权证明:
*详细原因:
android 耳机孔传输数据 音频通信Android底层开发之耳机插拔与音频通道切换实例
原文:http://blog.csdn.net/kangear/article/details/
底层开发之耳机插拔与音频通道切换实例
由于使用的是耳机 麦克分离式的耳机,所以要分别上报事件。在系统层耳机插孔的检测是基于的值来判断的(以为例子位于)。
只要在内核中实现一个「或真或假」的基于类的开关。系统就可以监听到插拔信息。
在播放音乐的时候插入耳机,使用tinymix(参考:)命令可以查找到Playback Path的值从SPK变为HP_NO_MIC,就可以说明耳机插拔软件检测正常了。
Mixer name: 'RK_RK616_TINY'
Number of controls: 7
ctl type num name
0 ENUM 1 Playback Path
1 ENUM 1 Capture MIC Path
2 ENUM 1 Voice Call Path
3 ENUM 1 Voip Path
4 INT 2 Speaker Playback Volume
5 INT 2 Headphone Playback Volume
6 ENUM 1 Modem Input Enable
但是喇叭还在响,说明没有被关闭。查查原理图「功放上的控制脚」是在哪个GPIO上接着呢。
根据手册得出只要GPIO2_D7可以输出低电平就能实现喇叭的关闭,使用万用表测得在插入耳机后该管脚仍然为高电平,查看代码修改记录在上一个版本同事是直接在耳机插拔程序中修改将其拉低的,这样可以实现但是觉得不妥,上层应该也是有音频通道切换的,根据上层来控制比较好。这样插入耳机的时候也可以强制开启喇叭,把「使用哪个音频通信的决定权」交给给用户。
这个应该是在内核中实现的,因为已经正常切换了,就说明上层已经调用相应的接口了。从驱动中来分析。
设备资源:可以看到和的使能都给的是。
static struct rk616_platform_data rk616_pdata = {
.power_init = rk616_power_on_init,
.power_deinit = rk616_power_deinit,
= RK616_SCL_RATE,
.lcd0_func = INPUT,
//port lcd0 as input
.lcd1_func = INPUT,
//port lcd1 as input
.lvds_ch_nr = 1,
//the number of used lvds channel
.hdmi_irq = RK30_PIN2_PD6,
.spk_ctl_gpio = RK30_PIN2_PD7,
.hp_ctl_gpio = RK30_PIN2_PD7,
设备驱动中控制音频输出通道的函数:
static int rk616_playback_path_put(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
case HP_PATH:
case HP_NO_MIC:
case RING_HP:
case RING_HP_NO_MIC:
rk616_set_gpio(RK616_CODEC_SET_SPK, GPIO_LOW);
if (pre_path == OFF)
rk616_codec_power_up(RK616_CODEC_PLAYBACK);
snd_soc_update_bits(codec, RK616_SPKL_CTL,
RK616_VOL_MASK, HPOUT_VOLUME); //, volume (bit 0-4)
snd_soc_update_bits(codec, RK616_SPKR_CTL,
RK616_VOL_MASK, HPOUT_VOLUME);
rk616_set_gpio(RK616_CODEC_SET_HP, GPIO_HIGH);
可见在输出到耳机通道时,禁用 和使能都是设置的,最后RK30_PIN2_PD7仍然为高电平,没有禁用。原理图并没有单独的耳机的使能管脚。在资源中将设置为,问题得以解决。
额外收获:原理耳机那里一直都是有音频输出的,无论插入不插入耳机;插入耳机时仅仅是将禁止了。
误入的歧途:
1.误以为要去看上层代码在各种类中追寻了很久,真是浪费时间,如果使用tinymix查看音频通道切换正常,说明内核以上的都没有问题了,出问题也是出在了内核以及硬件上。
总结:庞大的系统容不得你每一块都了解的很细致,但是如果会很好的划分层次,问题就会很好解决。记录的重点不在于具体的型号版本等等比较虚的方面,而是在遇到此类问题分析的思路。
【Android】Audio音频输出通道切换 - 蓝牙、外放
【Android适配问题集锦-音频类】当Android手机插入耳机后仍为外放的尴尬
简单聊一下Android音频通路的切换
Android 7.1.1 插入耳机图标显示
android声音通道的切换
[RK3288][Android6.0] 有线耳机驱动小结
[Headset]如何在ADB shell中读取耳机状态和读取ACCDET寄存器
Android系统中从发生耳机插拔事件到音频Route切换过程分析
Android 实时监听耳机拔除
没有更多推荐了,}

我要回帖

更多关于 入耳式监听耳机排行 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信