ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【FAQ】音频编辑服务在调用删除音频时只是删除了声音时长未变,如何实现删除时不留有空白时长

2022-08-24 09:32:59  阅读:143  来源: 互联网

标签:haeAsset 删除 FAQ deletedIndex 空白 音频编辑 tempTime 时长


问题描述:

在调用删除音频(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

标签:haeAsset,删除,FAQ,deletedIndex,空白,音频编辑,tempTime,时长
来源: https://www.cnblogs.com/developer-huawei/p/16618647.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有