功能概览
通过背景音乐(BGM)相关接口,可以实现对短视频进行插入背景音/音乐。本文提供背景音乐管理功能说明,包括添加、删除、调整位置、音量、播放速度和区间等操作。
相关接口类
接口类名 | 描述 |
TAVEditor | SDK 操作入口类。 |
接口方法汇总
方法 | 参数 | 返回值 | 说明 |
addBgm(String path, long startAtVideoTimeUS, long startTimeUS, long duration) | path:音乐路径startAtVideoTimeUS:在视频中开始的时间(us)startTimeUS:音乐开始时间(us)duration:播放时长(us) | int | 添加背景音乐并返回 ID |
removeBgm(int bgmID) | bgmID:背景音乐 ID | boolean | 删除背景音乐 |
updateBgmPlayOffset(int bgmID, long videoStartTime) | bgmID:背景音乐 IDvideoStartTime:视频位置(us) | void | 调整背景音乐在视频中的位置 |
updateBgmPlayRange(int bgmID, long startTime, long duration) | bgmID:背景音乐 IDstartTime:开始时间(us)duration:播放时长(us) | void | 调整背景音乐播放区间 |
setBgmVolume(int bgmID, float volume) | bgmID:背景音乐 IDvolume:音量建议范围为0-3f | void | 设置单个背景音乐音量 |
setAllBgmVolume(float volume) | volume:音量建议范围为0-3f | void | 设置所有背景音乐音量 |
getBgmVolume(int bgmID) | bgmID:背景音乐 ID | float | 获取背景音乐音量 |
setBgmSpeed(int bgmID, float speed) | bgmID:背景音乐 IDspeed:播放速度 | void | 设置背景音乐播放速度 |
getBgmSpeed(int bgmID) | bgmID:背景音乐 ID | float | 获取背景音乐播放速度 |
相关方法
添加背景音乐
/*** 添加背景音乐** @param path 音乐文件路径* @param startAtVideoTimeUS 背景音乐在视频中出现的时间点(微秒)* @param startTimeUS 背景音乐自身的开始播放时间(微秒)* @param duration 背景音乐播放时长(微秒)* @return 背景音乐唯一ID*/int bgmId = editor.addBgm(path, startAtVideoTimeUS, startTimeUS, duration);
删除背景音乐
/*** 删除背景音乐** @param bgmId 背景音乐ID* @return 是否删除成功*/boolean success = editor.removeBgm(bgmId);
调整背景音乐位置
/*** 调整背景音乐在视频中的位置** @param bgmId 背景音乐ID* @param videoStartTime 新的视频时间点(微秒)*/editor.updateBgmPlayOffset(bgmId, videoStartTime);
调整背景音乐播放区间
/*** 调整背景音乐播放区间** @param bgmId 背景音乐ID* @param startTime 新的开始时间(微秒)* @param duration 新的播放时长(微秒)*/editor.updateBgmPlayRange(bgmId, startTime, duration);
调整音量
/*** 设置单个背景音乐音量** @param bgmId 背景音乐ID* @param volume 音量值,建议范围: 0-3f*/editor.setBgmVolume(bgmId, volume);/*** 设置所有背景音乐音量** @param volume 音量值,建议范围: 0-3f*/editor.setAllBgmVolume(volume);/*** 获取背景音乐音量** @param bgmId 背景音乐ID* @return 当前音量值*/float volume = editor.getBgmVolume(bgmId);
调整播放速度
/*** 设置背景音乐播放速度** @param bgmId 背景音乐ID* @param speed 播放速度(1.0=正常速度)*/editor.setBgmSpeed(bgmId, speed);/*** 获取背景音乐播放速度** @param bgmId 背景音乐ID* @return 当前播放速度*/float speed = editor.getBgmSpeed(bgmId);
使用示例
// 添加背景音乐(从视频第2秒开始,播放音乐前3秒的内容,持续4秒)int bgmId = editor.addBgm("/sdcard/music.mp3",2_000_000, // 视频中开始时间0, // 音乐开始时间4_000_000); // 播放时长// 调整音量到70%editor.setBgmVolume(bgmId, 0.7f);// 调整播放速度到1.5倍editor.setBgmSpeed(bgmId, 1.5f);// 在视频中的第5s开始播放音乐editor.updateBgmPlayOffset(bgmId, 5_000_000);// 调整音乐播放区间(从音乐第1秒开始,播放2秒)editor.updateBgmPlayRange(bgmId,1_000_000, // 开始时间2_000_000); // 播放时长// 删除背景音乐boolean success = editor.removeBgm(bgmId);// 获取当前ID背景音乐音量float currentVolume = editor.getBgmVolume(bgmId);