取一首歌的伴奏却找不到资源怎么办?没关系,我们可以自己解决。音频编辑服务提供音源分离的功能,帮助开发者在应用中构建人声与伴奏分离的功能。 目前,音源分离功能已经开放了人声与伴。..
Demo演示
下面我们来实操一下如何接入华为音频编辑服务,实现音源分离效果。
开发实战
1. 开发准备
2. 编辑工程集成
2.1设置应用的鉴权信息
开发者需要通过api_key或者Access Token来设置应用鉴权信息。
(推荐)通过setAccessToken方法设置Access Token,在应用启动时初始化设置
1
| HAEApplication.getInstance().setAccessToken("your access token");
|
通过setApiKey方法设置api_key,在应用启动时初始化设置一次即可,无需多次设置。
1
| HAEApplication.getInstance().setApiKey("your ApiKey");
|
2.2初始化环境
初始化音频编辑管理类、创建时间线以及需要的泳道。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| HuaweiAudioEditor mEditor = HuaweiAudioEditor.create(mContext);
mEditor.initEnvironment();
HAETimeLine mTimeLine = mEditor.getTimeLine();
HAEAudioLane audioLane = mTimeLine.appendAudioLane(); 导入音乐。
HAEAudioAsset audioAsset = audioLane.appendAudioAsset("/sdcard/download/test.mp3", mTimeLine.getCurrentTime());
`##### 3. 音源分离功能集成```java 调用getInstruments和startSeparationTasks接口进行音源分离。
HAEAudioSeparationFile haeAudioSeparationFile = new HAEAudioSeparationFile(); haeAudioSeparationFile.getInstruments(new SeparationCloudCallBack<List<SeparationBean>>() { @Override public void onFinish(List<SeparationBean> response) { } public void onError(int errorCode) { } });
haeAudioSeparationFile.setInstruments(伴奏id集合);
haeAudioSeparationFile.startSeparationTasks(inAudioPath, outAudioDir, outAudioName, new AudioSeparationCallBack() { public void onResult(SeparationBean separationBean) { } public void onFinish(List<SeparationBean> separationBeans) {} public void onFail(int errorCode) {} public void onCancel() {} });
haeAudioSeparationFile.cancel();
|
除了音源分离功能,华为音频编辑服务还为开发者提供了一站式音频编辑服务,涵盖了音频/音乐处理所需的几十项专业能力,开发者只需要通过简单的集成方式即可让应用获取强大的音频处理能力,可极大帮助客户提升音频/音乐方面的处理效率。
华为移动服务开源仓库地址:GitHub、Gitee
本文标题: HMSCore音频编辑服务
发布时间: 2021年01月05日 00:00
最后更新: 2025年12月30日 08:54
原始链接: https://haoxiang.eu.org/71a5f7af/
版权声明: 本文著作权归作者所有,均采用CC BY-NC-SA 4.0许可协议,转载请注明出处!