源码工程实现语音音乐控制,语音搜索歌曲、歌手、收藏,热门歌曲,歌曲排行等等语音控制指令。 参考demo,可以合入到自己的音乐软件里面。 自动对接夏杰语音,安装夏杰语音,就可以实现语音控制。

1 软件接口注册

对接软件主动发送软件注册信息

public static final long SEMANTIC_MUSIC = 0x1 << 5;//0x20;
Intent localIntent = new Intent();
localIntent.setAction("com.peasun.aispeech.action.app.register");
Bundle data = new Bundle();
data.putString("package_name", [your package name]);
data.putLong("category", SEMANTIC_MUSIC);
localIntent.putExtras(data);
/**
* 注意对接的语音版本,将 setPackage 的参数改为对应语音软件的 package name.
* 国际版"com.peasun.aispeechgl"
* 大陆版"com.peasun.aispeech"
*/
localIntent.setPackage("com.peasun.aispeech");
paramContext.sendBroadcast(localIntent);

2 接收语音命令服务名称

对接服务 Action:com.peasun.aispeech.action.music

3 搜索指令

3.1 方式一

直接传递歌手和歌曲名称混合,不对歌手和歌曲进行语义提取

3.2 方式二

需要对歌手和歌曲做精准语义提取

4 控制指令

5 注意事项

5.1.1添加权限

Androidmanifest.xml 添加一下权限
<uses-permission android:name="com.peasun.aispeech.aiopen.control"/>

5.1.2对应 receiver 添加

<receiver
 android:name="com.peasun.aispeech.aiopen.AIOpenReceiver"
 android:exported="true">
 <intent-filter>
 <action android:name="com.peasun.aispeech.action.app.register.require" />
 <action android:name="com.peasun.aispeech.action.music" />
 </intent-filter>
 </receiver>

5.1.3注册广播

public static AIOpenReceiver registerVideoReciver(Context context) {
 AIOpenReceiver receiver = new AIOpenReceiver();
 IntentFilter filter = new IntentFilter();
 filter.addAction(AIOpenConstant.AI_OPEN_ACTION_MUSIC);
 context.registerReceiver(receiver, filter);
 return receiver;
 }

5.1.4创建 service 接收指令和参数

<service
 android:name="com.peasun.aispeech.aiopen.AIOpenService"
 android:exported="true">
<intent-filter>
 <action android:name="com.peasun.aispeech.action.app.register.require" />
 <action android:name="com.peasun.aispeech.action.music" />
 </intent-filter>
 </service>

更多代码工程

参考网址:https://gitee.com/sharjeck/MusicDemo

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐