三星we p301蓝牙耳机为什么。不播放多媒体声音
发布时间:2025-05-20 09:10:03 发布人:远客网络
一、三星we p301蓝牙耳机为什么。不播放多媒体声音
若手机连接蓝牙耳机听歌没有声音,建议:
1.单声道蓝牙耳机不支持播放音乐媒体文件,需要使用立体声蓝牙耳机。
2.打开媒体音频。方法:设定-蓝牙-点击已配对的设备右侧的齿轮图标-媒体音频打钩。
3.若上述操作仍无法解决,有可能是蓝牙耳机存在兼容性问题,建议重新连接或更换其他蓝牙耳机进行测试。
二、蓝牙耳机已连接到手机音频为什么不能听
1、单声道的蓝牙耳机是只能听电话的,立体声的蓝牙耳机才能听歌
2、连接后,音乐播放器里面打开播放设置,里面有个经蓝牙播放,打开就可以了。
3、一般重启一下蓝牙耳机和手机蓝牙再连就好了
4、有的品牌手机要用本品牌的耳机才能听
移动音频,是指利用智能手机、平板电脑、车载音响、可穿戴设备等移动终端作为载体,通过在线下载等方式,提供语音收听等服务,内容包括传统电台,音乐电台,相声评书,综艺娱乐,百科知识,小说,影视原音,广播剧,教育培训,新闻资讯等音频内容的业务总称。
移动音频可以在多种场景下伴随用户,随时随地提供信息内容。有人说,3G时代用户需要的是像微博、资讯类客户端等碎片化服务,而随着智能手机、4G技术的普及,用户则更需要伴随性的体验。
三、Android怎样监听蓝牙耳机的按键事件
其实对于Android系统,每次按键只会有一个唯一「键值」响应,使用起来感觉会模模糊糊的,但是其实对于系统来说是很清晰的。
AVRCP全称(Audio/VideoRemoteControlProfile),是蓝牙协议中的一个profile。从名字上就可以看出主要应用于Audio/Video控制。每个按键并不是独立的,上-曲/下一曲是在正在播放音乐的时候才会有效,即才会向Android发送「键值」。
基于按键从Linux到Android分析具体对于的键值:
Linux扫描码功能映射字串Android键值
00c8200开始放音乐MEDIA_PLAYKEYCODE_MEDIA_PLAY
00c9201停止放音乐MEDIA_PAUSEKEYCODE_MEDIA_PAUSE
00a3163下一曲MEDIA_NEXTKEYCODE_MEDIA_NEXT
00a5165上-曲MEDIA_PREVIOUSKEYCODE_MEDIA_PREVIOUS
Android应用代码,完整测试应用:TeskKey。
总结:1号键会交替发送KEYCODE_MEDIA_PLAY/KEYCODE_MEDIA_PAUSE;2/3号键会在播放音乐时分别发送KEYCODE_MEDIA_PREVIOUS/.KEYCODE_MEDIA_NEXT。如果想要把蓝牙耳机上的按键利用起来,可以在接收到KEYCODE_MEDIA_PLAY时播放无声音乐以使能2/3号键。这样就能完整接收3种键值了自行控制了。这个具体自行设计(测试代码已经更新包含了)。
注:这种实现并不一定通用,比如我在深度定制的MIUI中测试,尽管启动的TestKey应用,系统自带的音乐播放器仍然能同时响应键值。
已经更新TestKey源码,添加对蓝牙耳机按键的监听,实现方法就是上述中推测的方法,已经成功验证过了。播放音乐参考《Android多媒体开发--资源文件播放》。效果图:
需要说明一点的是,程序带了两个音乐文件在/res/raw中,默认播放的是lapple.mp3一个有声音的mp3音乐文件,silence10sec.mp3是一个无声音的10秒钟音乐文件,实际应用中可以使用它。
1.这个只能在播放音乐的状态下才能监听到么?
答:根据上述的原理,这些按键也仅仅是应用在控制媒体时使用;且根据实际验证没有播放音乐时蓝牙耳机的2/3号键是并没有向Android设备发送键值(从底层Linux来看)。综上所述,需要通过播放音乐来实现激活其向Android设备发送键值,针对这种情况可以播放一个「没有声音」的音乐文件来实现,这样既可以监听到2/3号键又可以不影响其它声音的输出。可以在前台时播放音乐,后台停止播放。
2.我现在主要是想监听得到开关键(1号键)。在做一个按下蓝牙开关键后启动一个语音识别的功能?
答:在我的测试条件下,1号键是可以正常监听到的。1号键会交替发送KEYCODE_MEDIA_PLAY/KEYCODE_MEDIA_PAUSE键值。这个键不需要模拟播放音乐就可以正常的监听到。
答:所谓的4号按键,也就是指本文中的所测试型号的蓝牙耳机上并没有,但有可能其它型号的蓝牙耳机上有。我没有办法测试验证,所以这里就简单叙述一下「新按键」的键值确定思路:1.先使用TestKey测试应用测试按键,测试Android上层是否可以得到对应键值。2.如果没有得到,那么就使用adbshellgetevent来看Linux底层可以不可以得到键值。然后根据按键从Linux到Android来确定Android上层使用的键值码到底是多少。(当然,如果你实在不知道如何监听,把蓝牙耳机寄给我,我给你确定也行。:))
注:其实上述文章完全是根据按键从Linux到Android测试确定下来的。那是篇文章是剥开Android外壳来看「按键」事件的流程的,方法适用于所有输入事件:各种按键/触摸/物理键盘/鼠标等待输入设备。没有一定的Linux开发经验很难看懂和理解。
或:如何启动一次应用后在后台一直监听播放键因为有这样一个场景在用户开车的时候需按一下开关键就启动语音识别的功能。
这个问题其实已经超出了本文讨论的范围,是Android系统对应用层的键盘事件(按键)的分发的问题了。正常情况下,按键只会向当前最端的应用分发键盘事件,也就是说在后台你边音量键都监听不了。
但是既然这种情况(后台应用监听按键)的需求存在,那么就一定有它存在的道理。比如「相机键」,按下后直接调出相机到最前台。从表面上看是相机响应了按键,但是从实现方法上来看,并不是通过键值来操作,必须通过其它方法,比如广播或者其它等等。
明白了其中的道理后,那么想要实现就好办了。先看这个按键有没有广播,如要有接听系统中发出来的广播;如果没有那么对于定制系统可以自己在系统中添加一个广播;总之,正常渠道是没有办法在后台监听一些不应该是你监听到的按键的。
更:查了一下,这个按键是有广播的。这样就可以后台响应了(不需要C/不需要root)。例子我就不试了,见Android官方例子RandomMusicPlayer。
其中的重点是这个广播android.intent.action.MEDIA_BUTTON。