播放音效或音乐文件
在游戏或 K 歌等实时音视频场景中,为烘托气氛、增添趣味性,用户通常需要播放音效或音乐文件。
本文介绍如何在你的项目中实现播放音效或音乐文件功能。
技术原理
声网提供了以下 API, 帮助你实现播放音效或音乐文件:
- 音效 API:播放持续时间短的氛围音,例如掌声、欢呼声、打斗声、枪击声等,通常可以同时播放多个音效文件。
- 音乐 API:播放比较长的音乐文件,例如,在唱歌时播放伴奏,在聊天时播放背景音乐。同一时间,只能播放一个音乐文件。
这些方法主要包括如下功能:
功能 | 音效 API | 音乐 API |
---|---|---|
播放或停止播放特定的音频文件 |
|
|
暂停或恢复播放音频文件 |
|
|
获取和调整音频文件的播放位置和音量 |
|
|
报告音频文件的播放状态 | onAudioEffectFinished | onAudioMixingStateChanged |
前提条件
在进行操作之前,请确保你已满足以下条件:
- 项目已经实现了基本的实时音视频功能。
- 了解 Android 设备支持的媒体文件格式。
- 调用音乐混音 API,你的设备需要运行 Android 4.2 或以上版本。
实现播放音频文件
本节介绍如何调用音效 API 和音乐混音 API,在你的项目中播放音效和音乐混音文件。
实现播放音效
音效 API 的调用时序图如下:
-
添加 App 权限 对于
targetSdkVersion
>= 20 的 Android 项目,在项目的AndroidManifest.xml
文件中添加如下内容:XML<application>
android:usesCleartextTraffic="true"
android:requestLegacyExternalStorage="true"
</application> -
实现播放音效的逻辑。在你的声网项目中,打开管理音效播放的文件并添加如下代码:
播放音乐
加入频道之前或之后,调用 startAudioMixing
方法播放音乐文件。成功调用该方法后,音乐文件状态发生变化时,SDK 触发 onAudioMixingStateChanged
回调。该回调也报告音乐文件状态变化的原因。
-
添加 App 特权。针对
targetSdkVersion
>= 20 的 Android 项目,在项目的AndroidManifest.xml
文件中添加如下内容:XML<application>
android:usesCleartextTraffic="true"
android:requestLegacyExternalStorage="true"
</application> -
实现播放音乐的逻辑。在你的声网项目中,打开管理音乐播放的文件并添加如下代码:
相关文档
本节提供了在实现播放音效或音乐功能时可能需要的相关文档。
示例项目
声网在 GitHub 上提供了一个开源的 PlayAudioFiles 示例项目。你可以前往下载或查看其中的源代码。
API 参考
相关文档
startAudioMixing
或 playEffect
播放音频文件?