ump-plugin-audio
v0.0.1
Published
UMP Audio Plugin — <Audio> headless component + HTMLAudioElement runtime
Readme
ump-plugin-audio
<Audio> headless audio playback + HTMLAudioElement runtime for
UMP apps. Second native plugin under the plugin-native infrastructure
(after ump-plugin-video).
Install
npm install ump-plugin-audioUsage
import { Audio } from 'ump-plugin-audio';
<Audio
src="https://cdn.example.com/song.mp3"
autoplay
loop
volume={0.8}
onEnded={() => console.log('done')}
/><Audio> is headless — it does not render a view. Audio
playback is driven by HTMLAudioElement (web-standard surface) and
the __ump_audio_* JSI bridge.
Migration from ump-native
- import { Audio } from 'ump-native';
+ import { Audio } from 'ump-plugin-audio';No JS API changes. Unlike ump-plugin-video, Audio has no native
view kind to register. The __ump_audio_* host bridges are installed
by the autolink-generated C++ JSI dispatcher (register_audio_jsi);
Android still uses autolink to compile the Java UMPAudioPlayer source.
What's in the box
- JS:
<Audio>headless JSX component (returnsnull) - iOS: AVAudioPlayer-backed C++ binding (
native/cpp/platform/ios/audio_player_ios.mm) - Android:
UMPAudioPlayer.javaExoPlayer wrapper plus plugin-local C++ player - Harmony: JSI surface registers, but native playback is unsupported until the ArkTS bridge is wired
- C++: plugin-local
NativeAudioPlayer,audio_manager,audio_listener, platform players, and explicitregister_audio_jsiautolink registration
