2.4 KiB
artplayer-plugin-audio-track
audio-track plugin for ArtPlayer
Demo
The refactor branch includes complete Chinese and English guides. They cover time offsets, synchronous partial updates, shared mute/volume, source ownership and the legacy/runtime type split. Their runnable example matches the demo above.
TypeScript
The default import and /legacy preserve existing TypeScript behavior, including the
historical required url in the update parameter type. JavaScript still supports updating
only selected fields. Use /runtime for precise partial-update types; it loads the same
implementation and adds no runtime dependency:
import Artplayer from 'artplayer'
import audioTrack from 'artplayer-plugin-audio-track/runtime'
const installTrack = audioTrack({ url: '/assets/sample/sprite-fight.aac' })
const art = new Artplayer({
container: '.artplayer-app',
url: '/assets/sample/sprite-fight.mp4',
plugins: [(art) => {
const track = installTrack(art)
track.update({ offset: 0.25 })
return track
}],
})
Named types include Option, UpdateOption, Result (legacy), RuntimeResult, and
RuntimeFactory. update returns void; audio remains the same HTMLAudioElement.
For global scripts in the online editor, explicitly opt into the same precise typing with
artplayerPluginAudioTrack as artplayerPluginAudioTrack.RuntimeFactory.
The plugin follows the main video's playback, volume and rate, but does not automatically mute the main video. Destroying ArtPlayer releases the plugin's audio and subscriptions; retained plugin updates become inert. See ARCHITECTURE.md for module ownership, compatibility decisions and regression commands.
Installed declaration regression: run
yarn test:package --include=artplayer-plugin-audio-track from the repository root.
This builds and installs tarballs outside the repository, then checks root,
legacy and /runtime calls from test/types/audio-track.ts in five compiler
modes, including every invalid call. See
consumer maintenance; media synchronization
and browser validation remain separate.
License
MIT © Harvey Zhao