【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

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...