Flutter网络Safari iOS没有声音,直到用户交互检测

gijlo24d  于 2023-06-24  发布在  Flutter
关注(0)|答案(1)|浏览(123)

我正在使用livekit在flutter应用程序中实现音频/视频,但在safari和chrome上的ios上,在检测到用户交互(与DOM)(如授予麦克风权限)之前,没有声音。有没有人知道一种方法来检测用户交互,而无需请求许可或使用dart:html包?

o4tp2gmn

o4tp2gmn1#

在我打开一个issue之后,livekit团队添加了新功能。
解决方法如下:

EventsListener<RoomEvent> _listener
Room room
...

Future<bool?> showConfirmDialog() async{
  //here we show an alert dialog requesting permission
}

void _setUpListeners() => _listener
   
    ..on<AudioPlaybackStatusChanged>((event) async {
      if (!room.canPlaybackAudio) {
        print('Audio playback failed ..........');
        bool? yesno = await showConfirmDialog();
        if (yesno == true) {
          await room.startAudio();
        }
      }
    });

相关问题