【FAQ】音频编辑服务在调用删除音频时只是删除了声音时长未变,如何实现删除时不留有空白时长
问题描述:
在调用删除音频(audioLane.removeAsset(index))时只是删除了声音时长未变,如何实现删除时不留有空白时长
留有空白时长的原因是因为音频编辑SDK支持多音轨编辑。
解决方法:
当用户对某条音轨中的片段删除后,可能需要播放其他音轨的内容,因此在删除后,留了空白时长,我们会在下一版本提供不留空白时长的删除方法,请您关注一下版本更新说明(预计8月底上线)。
当前您可以参考如下代码进行操作:
// deletedIndex是被删除的Asset的编号。
// duration是指被删除音频片段的时长
// 在删除Asset后调用如下方法
long tempTime;
while (deletedIndex < audioLane.getAssets().size()) {
haeAsset = audioLane.getAssets().get(deletedIndex);
tempTime = haeAsset.getStartTime();
haeAsset.setStartTime(tempTime-duration);
tempTime = haeAsset.getEndTime();
haeAsset.setEndTime(tempTime-duration);
deletedIndex++;
}
问题描述:
音频编辑服务中如何撤销上一步的操作
解决方法:
可以调用下面的方法进行实现:
撤销:HistroyManager.undo(HistoryCallback historyCallback)
重做:HistroyManager.redo(HistoryCallback historyCallback)
示例:
HistoryManager.getInstance().undo(new HistoryCallback() {
@Override
public void success(String actionName) {
// ActionName常量请见com.huawei.hms.audioeditor.sdk.history.impl.ActionName
// ActionName.CHANGE_AUDIO_SPEED_ACTION_NAME
Log.d(TAG, "success: "+actionName);
}
@Override
public void onFailed() {
Log.d(TAG, "onFailed: ");
}
});
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
相关文章
- 直播带练 | 30 分钟用阿里云容器服务和容器网络文件系统搭建 WordPress 网站
- Dubbo 3.0 前瞻之对接 Kubernetes 原生服务
- 微服务架构设计(三):在微服务的架构中, 也许不需要 Integration Hub
- zookeeper实现动态获取服务器列表代码示例(服务上下线监听/动态更新服务列表)
- 12-factor应用和微服务架构应用的区别
- Atitit.用户权限服务 登录退出功能
- SAP Business Application Studio 里创建一个基于 CAP 模型的最简单的 OData 服务试读版
- 让SAP云平台上的Web应用使用destination服务
- 云图说丨初识可信分布式身份服务
- 搭建高可用的Redis服务,需要注意这些方面!
- 我搭建了一套企业级私有Git服务,抗住了每天上万次攻击!
- .NET Core 3 WPF MVVM框架 Prism系列之对话框服务
- 如何在客户端实现服务的负载均衡
- 安卓列出连接设备的所有服务UUID和特征属性UUID