fix: audio play bug for ios safari. (#285)

* fix: audio play bug for ios safari. (WIP).

* chore: Repair and can pop up the playback prompt dialog box correctly.

* chore: add AudioContext to reduce playback delay.
This commit is contained in:
CloudWebRTC
2023-05-16 10:28:09 +08:00
committed by GitHub
parent 2b1e7f2e5f
commit 0b8aeeeba1
10 changed files with 146 additions and 6 deletions
+12
View File
@@ -1,4 +1,5 @@
import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc;
import 'package:livekit_client/src/internal/events.dart';
import 'package:meta/meta.dart';
import '../core/room.dart';
@@ -121,6 +122,17 @@ class RemoteParticipant extends Participant<RemoteTrackPublication> {
// audio track
track = RemoteAudioTrack(pub.name, pub.source, stream, mediaTrack,
receiver: receiver);
var listener = track.createListener();
listener.on<AudioPlaybackStarted>((event) {
logger.fine('AudioPlaybackStarted');
room.engine.events.emit(event);
});
listener.on<AudioPlaybackFailed>((event) {
logger.fine('AudioPlaybackFailed');
room.engine.events.emit(event);
});
} else {
throw UnexpectedStateException('Unknown track type');
}