1、如何后台播放音乐
A:AVSession对媒体播放做了管控,当三方应用从前台切入后台或者进入锁屏状态,媒体播放会被强制暂停而应用不感知,如果要开发后台播放功能,应该启动后台任务管理的长时任务中播放音乐,同时接入AVSession能力,允许控制中心的播控面板控制三方应用的播放功能。
2、创建多个视频组件无法播放
A:当前限制最多创建16个媒体播放实例。
3、OpenSL ES音频录制示例调用崩溃
A:需要申请ohos.permission.MICROPHONE权限。详细请参见权限申请。
4、SoundPool播放的音频是否支持WMV格式
A:SoundPool:音频池加载播放实例,音频池提供了系统声音的加载、播放、音量设置、循环设置、停止播放、资源卸载等功能。
SoundPool当前不支持WMV格式,支持的格式有AAC、MPEG(MP3)、Flac、Vorbis。
5、如何实现录音监听
A:系统音频监听功能在AudioStreamManager内,录音监听可以通过on(type: 'audioCapturerChange', callback: Callback<AudioCapturerChangeInfoArray>): void订阅接口实现。详细可参考链接:on('audioCapturerChange')。
6、音频处理哪些场景内置3A算法及AEC、ANC、AGC是否支持独立开关
A:3A算法:指声学回声消除(Acoustic Echo Cancellation, AEC)、背景噪声抑制(Active Noise Control, ANC)、自动增益控制(Automatic Gain Control, AGC)三种音频处理算法。
存在STREAM_USAGE_VOICE_COMMUNICATION配置的音频流运行时自动内置3A。普通录音场景不会开启3A,仅voip通话时才会开启,需要在播放音频流时配置相应的StreamUsage类型。
暂不支持3A独立开关。
7、AudioRenderer是否有跳转到某一帧的接口
A:没有,AudioRender底层不支持跳转到某一帧。AudioRender和avplayer不一样,AudioRender接口是client主动给它发送数据,完成后就会播放。而avplayer有source, 比如文件,所以支持跳转到某一帧。
更多详情查看:文档中心