refactor!: improve separation of global audioplayer interface #1443
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
AudioPlayers platform communication consists of two parts: the
AudioPlayer
scope and theGlobal
scope.These were not separated consistently, so one was used as implementation and the other as interface.
Now both scopes are handled the same way:
AudioPlayer
: player specific processing and interaction viaAudioplayersPlatformInterface
GlobalAudioScope
: global processing and interaction viaGlobalAudioplayersPlatformInterface
AudioplayersPlatformInterface
: interface to player platform channel (methods and events), holds an instance implementation likeAudioplayersPlatform
orWebAudioplayersPlatform
GlobalAudioplayersPlatformInterface
: interface to global platform channel (methods and events), holds an instance implementation likeGlobalAudioplayersPlatform
orWebGlobalAudioplayersPlatform
AudioplayersPlatform
: platform channel implementation ofAudioplayersPlatformInterface
GlobalAudioplayersPlatform
: platform channel implementation ofGlobalAudioplayersPlatformInterface
Also deprecated
AudioPlayer.global.setGlobalAudioContext()
in favor ofAudioPlayer.global.setAudioContext()
as the method is called on the global scope anyways and other methods don't have theglobal
keyword in it.Checklist
fix:
,feat:
,docs:
,chore:
etc).///
, where necessary.Breaking Change
Migration instructions
audioplayers:
GlobalPlatformInterface
GlobalAudioScope
AudioPlayer.global.setGlobalAudioContext()
AudioPlayer.global.setAudioContext()
audioplayers_platform_interface:
AudioplayersPlatform
AudioplayersPlatformInterface
MethodChannelAudioplayersPlatform
AudioplayersPlatform
GlobalPlatformInterface
GlobalAudioplayersPlatformInterface
MethodChannelGlobalPlatform
GlobalAudioplayersPlatform
audioplayers_web:
AudioplayersPlugin
AudioplayersPlugin
,WebAudioplayersPlatform
andWebGlobalAudioplayersPlatform
Related Issues
#1352