mixPauseTag function mixer
Pause all tracks with a specific tag.
A paused track is not considered "stopped," so its MIX_TrackStoppedCallback will not fire if paused, but it won't change state by default, generate audio, or generally make progress, until it is resumed.
This function makes all currently-playing tracks on the specified mixer, with a specific tag, move to a paused state. They can later be resumed.
Tracks that match the specified tag that aren't currently playing are ignored.
\param mixer the mixer on which to pause tracks. \param tag the tag to use when searching for tracks. \returns true on success, false on error; call SDL_GetError() for details.
\threadsafety It is safe to call this function from any thread.
\since This function is available since SDL_mixer 3.0.0.
\sa MIX_PauseTrack \sa MIX_ResumeTrack \sa MIX_ResumeTag \sa MIX_TagTrack
extern SDL_DECLSPEC bool SDLCALL MIX_PauseTag(MIX_Mixer *mixer, const char *tag)
Implementation
bool mixPauseTag(Pointer<MixMixer> mixer, String? tag) {
final mixPauseTagLookupFunction = _libMixer
.lookupFunction<
Uint8 Function(Pointer<MixMixer> mixer, Pointer<Utf8> tag),
int Function(Pointer<MixMixer> mixer, Pointer<Utf8> tag)
>('MIX_PauseTag');
final tagPointer = tag != null ? tag.toNativeUtf8() : nullptr;
final result = mixPauseTagLookupFunction(mixer, tagPointer) == 1;
calloc.free(tagPointer);
return result;
}