文档中心
全部产品
Agora.io 社区
为什么播放立体声文件时听不到立体声?
分类: 集成类    平台: Android / iOS / macOS / Windows / Unity / Cocos Creator / Cocos2d-x / Electron / React Native / Flutter   最后更新时间: 2021/09/17 18:34:14

问题描述

调用 startAudioMixingplayEffect 播放立体声文件时,用户可能会遇到听不到立体声的问题。

问题原因

如果你听不到立体声,可能原因如下:

  • 播放的音频文件不是立体声文件。
  • 未在 Agora SDK 中设置双声道编码。
  • 音频播放设备不支持立体声。

解决方案

请按照如下步骤排查并解决问题:

步骤 1: 检查音频文件

通过音频信号来检查音频文件是否为立体声文件。

  • 如果音频文件只有单声道的音频信号,或者双声道中左右声道的音频信号相同,则音频文件不是立体声文件。请更换立体声文件。
  • 如果音频文件有双声道的音频信号,且左右声道信号不同,则音频文件是立体声文件。请跳转至步骤 2 检查 SDK 设置。

步骤 2: 检查 SDK 设置

只有设置双声道编码,SDK 才能正确编码和传输立体声。请检查你是否调用 setAudioProfile 并将 profile 参数设置为 AUDIO_PROFILE_MUSIC_STANDARD_STEREO (3) 或 AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO (5)。

  • 如果未设置,请正确设置 profile 参数。
  • 如果已设置,请跳转至步骤 3 检查音频播放设备。

步骤 3: 检查音频播放设备

检查音频播放设备是否支持立体声,以及设备是否正常运行。

  • 如果设备不支持立体声,请更换支持立体声的设备。
  • 如果设备支持立体声,但运行不正常,请联系设备厂商维修或更换运行正常的设备。
  • 如果设备支持立体声,且运行正常,请提交工单联系技术支持进一步排查问题。
如果使用蓝牙设备播放音频,需注意蓝牙设备使用的数据传输模式。常见的两种传输模式如下:
  • 蓝牙立体声音频传输规范(Advanced Audio Distribution Profile, A2DP): 单向传输高质量音频数据,通常用于播放立体声音乐。A2DP 不支持通过蓝牙设备采集音频,你需要使用其他设备采集音频。
  • 蓝牙免提规范(Hands-Free Profile, HFP): 双向传输音频数据,通常用于音频通话。HFP 通常使用面向连接的同步链路(Synchronous Connection Oriented link, SCO)来承载单声道音频通道,所以使用 HFP 的蓝牙设备无法播放立体声。