产品百科 | RTC Android SDK 播放音效文件的接口方法

简介: 阿里云 RTC SDK 为您提供伴奏文件和音效文件的相关接口方法,您可以通过本文了解其具体的实现方法。

阿里云 RTC SDK 为您提供伴奏文件和音效文件的相关接口方法,您可以通过本文了解其具体的实现方法。

伴奏文件

伴奏文件的接口方法如下所示。

  • 调用 startAudioAccompany 开始混音伴奏。
//接口方法
public abstract int startAudioAccompany(String fileName, boolean onlyLocalPlay, boolean replaceMic, int loopCycles) ;
//示例方法
int ret =  mAliRtcEngine.startAudioAccompany(audioFileName, localPlay, replaceMic, loopCycles);
参数 类型 描述
fileName String 伴奏文件路径
onlyLocalPlay boolean 是否只本地播放,true:只本地播放;false:本地播放和推流
replaceMic boolean 是否替换麦克风采集,true:替换麦克风采集,只有伴奏声;false:与麦克风共存
loopCycles int 循环次数
  • 调用 pauseAudioAccompany 暂停伴奏,调用成功返回 0,失败返回错误码。

    说明 您需要在 startAudioAccompany 接口之后调用。
//接口方法
public abstract int pauseAudioAccompany() ;
//示例方法mAliRtcEngine.pauseAudioAccompany();
  • 调用 resumeAudioAccompany 恢复伴奏播放,调用成功返回 0,失败返回错误码。

    说明 您可以与 pauseAudioAccompany 接口搭配使用。
//接口方法
public abstract int resumeAudioAccompany() ;
//示例方法mAliRtcEngine.resumeAudioAccompany();
  • 调用 stopAudioAccompany 停止伴奏播放,调用成功返回 0,失败返回错误码。

    说明 调用该接口后会立刻停止伴奏播放,您可以与 startAudioAccompany 接口搭配使用。
//接口方法
public abstract int stopAudioAccompany() ;
//示例方法
mAliRtcEngine.stopAudioAccompany();
  • 您可以通过以下接口方法设置音量。
/**
     * 设置混音音量,需要在调用startAudioAccompany后才能生效
     * @param volume 混音音量,取值:0~100
     * @return 调用成功返回0,失败返回错误码
     */
    public abstract int setAudioAccompanyVolume( int volume) ;
    /**
     * 设置混音之后推流出去的音量,需要在调用startAudioAccompany后才能生效
     * @param volume 混音音量,取值:0~100
     * @return 调用成功返回0,失败返回错误码
     */
    public abstract int setAudioAccompanyPublishVolume(int volume) ;
    /**
     * 获取推流出去的混音音量
     * @return 调用成功返回0,失败返回错误码
     */
    public abstract int getAudioAccompanyPublishVolume() ;
    /**
     * 设置混音之后本地播放的音量,需要在调用startAudioAccompany后才能生效
     * @param volume 混音音量,取值:0~100
     * @return 调用成功返回0,失败返回错误码
     */
    public abstract int setAudioAccompanyPlayoutVolume(int volume) ;
    /**
     * 获取混音本地播放的音量
     * @return 调用成功返回0,失败返回错误码
     */
    public abstract int getAudioAccompanyPlayoutVolume() ;

音效文件

音效文件的接口方法如下所示。

  • 调用 preloadAudioEffect 预加载音效文件,调用成功返回 0,失败返回错误码。

    说明 您设置的音效文件 ID 会进行后续操作。
//接口方法
public abstract int preloadAudioEffect(int soundId, String filePath) ;
//示例方法
mAliRtcEngine.preloadAudioEffect(1, filePath);
参数 类型 描述
filePath String 伴奏文件路径(建议不包含中文)
soundId int 指定的文件 ID,个数无限制
  • 调用 unloadAudioEffect 根据预加载的音效文件 ID 删除预加载音效,调用成功返回 0,失败返回错误码。
//代码方法
public abstract int unloadAudioEffect(int soundId) ;
//示例方法
mAliRtcEngine.unloadAudioEffect(soundId);
  • 调用 playAudioEffect 开始播放音效,调用成功返回 0,失败返回错误码。

    说明 成功调用后立即播放音效,您需要在 preloadAudioEffectWithSoundId 接口之后调用。
//接口方法
public abstract int playAudioEffect(int soundId, String filePath, int cycles, boolean publish);
//示例方法
mAliRtcEngine.playAudioEffect(soundId, filePath, cycles, isPublish);
参数 类型 描述
soundId int 预加载时指定的文件 ID
filePath String 音效文件路径(建议不包含中文)
cycles int 循环次数
publish boolean 是否推流,false:不推流并且仅本地播放;true:本地播放和推流
  • 调用 pauseAudioEffect 暂停音效,调用成功返回 0,失败返回错误码。
//代码方法
public abstract int pauseAudioEffect(int soundId) ;
//示例方法
mAliRtcEngine.pauseAudioEffect(soundId);
  • 调用 resumeAudioEffect 恢复音效,调用成功返回 0,失败返回错误码。

    说明 您可以与 pauseAudioEffect 接口搭配使用。
//接口方法
public abstract int resumeAudioEffect(int soundId) ;
//示例方法
mAliRtcEngine.resumeAudioEffect(soundId);
  • 调用 stopAudioEffect 停止音效,调用成功返回 0,失败返回错误码。

    说明 成功调用之后会立刻停止音效播放,您可以与 playAudioEffect 接口搭配使用。
//接口方法
public abstract int stopAudioEffect(int soundId) ;
//示例方法
mAliRtcEngine.stopAudioEffect(soundId);
  • 您可以通过以下接口方法设置音效音量。
/**
     * 设置音效音量
     * @param soundId 音效文件ID
     * @param volume 混音音量,取值:0~100
     * @return 调用成功返回0,失败返回错误码
     */
    public abstract int setAudioEffectPublishVolume(int soundId, int volume) ;
    /**
     * 获取推流音效音量
     * @param soundId 音效文件ID
     * @return 调用成功返回0~100音量,失败返回错误码
     */
    public abstract int getAudioEffectPublishVolume(int soundId) ;
    /**
     * 设置音效本地播放音量
     * @param soundId 音效文件ID
     * @param volume 混音音量,取值:0~100
     * @return 调用成功返回0,失败返回错误码
     */
    public abstract int setAudioEffectPlayoutVolume(int soundId, int volume) ;
    /**
     * 获取音效本地播放音量
     * @param soundId 音效文件ID
     * @return 调用成功返回0~100音量,失败返回错误码
     */
    public abstract int getAudioEffectPlayoutVolume(int soundId) ;


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

image.png


相关文章
|
3月前
|
Android开发
基于android-11.0.0_r39,系统应用的手动签名方法和过程
本文介绍了基于Android 11.0.0_r39版本进行系统应用手动签名的方法和解决签名过程中遇到的错误,包括处理`no conscrypt_openjdk_jni-linux-x86_64`和`RegisterNatives failed`的问题。
186 2
|
26天前
|
缓存 Java Shell
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
51 15
Android 系统缓存扫描与清理方法分析
|
1月前
|
JSON 前端开发 API
使用微信JS-SDK调用发票接口的完整开发指南
本文介绍了如何使用微信JS-SDK的`chooseInvoiceTitle`接口来调用微信的发票功能。通过微信发票接口,用户可以选择开具个人或单位发票,并获取相关发票信息,如抬头、税号、公司地址等。在文中,详细描述了JS-SDK的初始化、发票接口的调用方式,并提供了完整的代码示例。文章还介绍了如何处理返回的发票信息,帮助开发者快速集成微信发票功能。
78 2
|
2月前
|
ARouter 测试技术 API
Android经典面试题之组件化原理、优缺点、实现方法?
本文介绍了组件化在Android开发中的应用,详细阐述了其原理、优缺点及实现方式,包括模块化、接口编程、依赖注入、路由机制等内容,并提供了具体代码示例。
47 2
|
3月前
|
Android开发
Android在rootdir根目录创建自定义目录和挂载点的方法
本文介绍了在Android高通平台的根目录下创建自定义目录和挂载点的方法,通过修改Android.mk文件并使用`LOCAL_POST_INSTALL_CMD`变量在编译过程中添加目录,最终在ramdisk.img的系统根路径下成功创建了`/factory/bin`目录。
208 1
|
3月前
|
开发工具 uml git
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
本文分享了下载AOSP源码的方法,包括如何使用repo工具和处理常见的repo sync错误,以及配置Python环境以确保顺利同步特定版本的AOSP代码。
456 0
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
|
4天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
9天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
11天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。
|
13天前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
【10月更文挑战第35天】在数字化时代,安卓应用的开发成为了一个热门话题。本文旨在通过浅显易懂的语言,带领初学者了解安卓开发的基础知识,同时为有一定经验的开发者提供进阶技巧。我们将一起探讨如何从零开始构建第一个安卓应用,并逐步深入到性能优化和高级功能的实现。无论你是编程新手还是希望提升技能的开发者,这篇文章都将为你提供有价值的指导和灵感。