手把手教你打通车载蓝牙与手机app的音频信息传输&车载反向控制手机app

本文详细介绍了如何实现车载蓝牙与手机app之间的音频信息传输,包括通过MediaSession在Android5.0后的实现方式,以及如何设置profile文件以允许车载蓝牙反向控制手机app的音频播放。此外,还讲解了如何通过反射调用BluetoothAvrcpController进行反向控制,并监听音频信息变化的广播接收器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

手机app传输信息到车载

app传输信息到车载.png

车载反向控制手机:

车载操作手机app结果.png

认识profile文件

可以这样来进行简单的理解profile标致了一种能力,他定义 了设备之间如何进行交互,比如我们跨设备调用的AVRCP是定义如何进行跨设备调用的。每一个协议多有自己的profile(要看系统有没有实现对应的功能,如果不需要可以没有对应的profile)。

音频信息如何发送给车载蓝牙

在android5.0之前的音频信息发送是通过RemoteControlClient来完成的。5.0之后是通过MediaSession来完成。

MediaSession能够进行播放器音量、按键和数据传输控制的类。一般而言一个应用程序只有一个MediaSession。

如果想要接收其它设备的调用控制需要调用 setActive(true)和setCallback(Callback)。

音频信息的发送

通过MediaSession#setMetadata(@Nullable MediaMetadata metadata)可以发送当前歌曲信息,

在MediaMetadata 定义了很多相关的key,数据发送端只需要按照对应的key添加数据即可

MediaSession#setPlaybackState(@Nullable PlaybackState state)可以发送与播放状态相关的信息。

播放器数据发送:

mediaSession = new MediaSession(BluetoothPlayerActivity.this, “test”);
mediaSession.setActive(true);
mediaSession.setMetadata(new MediaMetadata.Builder()
.putString(MediaMetadata.METADATA_KEY_TITLE, “你是风而我是沙”)
.putString(MediaMetadata.METADATA_KEY_ARTIST, “我是谁谁谁”)
.build());
Toast.makeText(BluetoothPlayerActivity.this,“已经开始执行发送信息,重置需要退出重进”,Toast.LENGTH_SHORT).show();
AppExecutors.getInstance().networkIO()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值