关于启用/关闭扬声器播放

android
集成问题

#1

关于 setEnableSpeakerphone 最新文档注解

  • 请确保在调用此方法前已调用过 [joinChannel]
  • 直播频道内的观众调用该 API 无效。
    意思直播频道下 只有主播使用该方法才有效?为什么做这样的设计,其他用户该如何实现这个功能?

#2

声网这边定义主播是发音视频流的人。所以,如果观众要说话,他就肯定会发音视频流,那么他也会成为主播。

如果你有主播和上麦观众的逻辑区分,要在业务层自己做。


#3

setEnableSpeakerphone不是只是切换播放路由么 只是听 听众如何实现切换扬声器/听筒播放? 我现在调用这个功能有时候有效 有时候无效


#4

sorry我看错了,这一段是在哪个网页,能否发个链接给我?


#5

https://docs.agora.io/cn/Audio%20Broadcast/API%20Reference/java/classio_1_1agora_1_1rtc_1_1_rtc_engine.html#a67cf60c4a3f4dade3f49205cd2f044f3


#6

而且我现在测试 当连接蓝牙耳机时 setEnableSpeakerphone(false) 切换为听筒播放 onAudioRouteChanged会回调切换为5了 但还是从听筒出声 蓝牙耳机没有播放

但有时候重新进入频道的时候设置为听筒播放 蓝牙耳机播放又是可以的。。。。
官方文档和论坛都没有详细关于这块的说明


#7

刚才研究了一下,安卓机在观众端应该是切不到听筒的,只能切到扬声器,是系统限制,所以他们才加了那句话。

另外蓝牙的问题,感觉有点乱,具体是这么设置的?比如

  1. 主播还是观众?
  2. setDefaultAudioRoutetoSpeakerphone是怎么设置的?
  3. 具体是什么操作,期望什么现象,出现了什么现象?
    建议可以总结出一个详细的 行为和现象对照列表,并且看一下是不是特殊机型问题。

#8

但其实我现在观众端切换其实是可以的。。。
现在主要的问题是在插入耳机或连接蓝牙耳机的时候切换到听筒播放的时候有时候不能切换到蓝牙或者耳机播放 具体原因我一直搞不明白 一直还在测试各种情况 所以问一下是不是这个限制条件导致的 你们有没有这块详细点的说明文档什么
我这边默认是扬声器播放


#9

呃。那有点奇怪,我刚才测了下,没有耳机的情况下,观众端只走外放,不走听筒。。

蓝牙的问题,有些蓝牙音箱只支持A2DP不支持SCO的话,rtc sdk不太好支持。
(可以通过Android API AudioManmager.isBluetoothScoAvailableOffCall() 判断该机型是否支持btsco)


#10

再请问下 我们这里主播播放背景音乐的情况下 切换扬声器的时候其他端音乐播放会停顿一下 停顿时间不同设备会不一样 请问这是正常现象还是我这里操作问题
我这里使用workthread的rtcEngine直接setEnableSpeakerphone


#11

主播切换扬声器,观众端听主播的音乐卡顿一下?主播是怎么播放背景音乐的?


#12

startAudioMixing
就是声音会停顿一下 也像是声音变小了很多


#13

Audioprofile 设置的是多少?我这边测下来,主播端在切换路由时声音确实会停顿一下,这是正常现象。但是观众端不会啊…


#14

setAudioProfile(AUDIO_PROFILE_MUSIC_STANDARD,AUDIO_SCENARIO_CHATROOM_ENTERTAINMENT)
感觉硬件低点的设备明显点


#15

嗯,我这边多测了几次,确实出现了这种现象。应该是正常的。