volume_controller 패키지는 Android, iOS, macOS, Windows, Linux에서 시스템 볼륨을 제어할 수 있는 크로스 플랫폼 플러터 플러그인입니다. 음량 조절, 음소거, 음량 수준 쿼리 등을 위한 간단한 API를 제공하여 미디어 앱, 오디오 도구 또는 시스템 레벨 오디오 제어가 필요한 모든 애플리케이션에 적합합니다. 플러그인은 플랫폼별 구현을 추상화하여 다양한 기기에서 일관된 동작을 보장합니다. 스트림 기반의 볼륨 모니터링과 직접적인 볼륨 조작을 모두 지원합니다. 통합의 용이성을 고려해 설계되어 기존 플러터 프로젝트와 원활하게 작동합니다.
사용 사례
미디어 플레이어 볼륨 조절
오디오 앱 시스템 통합
접근성 도구
오디오 기능의 자동 테스트
시스템 전체 볼륨 조정
주요 기능
크로스 플랫폼 지원 (Android, iOS, macOS, Windows, Linux)
볼륨 조정 및 음소거
스트림을 통한 실시간 볼륨 모니터링
간단하고 일관된 API
네이티브 볼륨 컨트롤을 위한 플랫폼 추상화
적합한 대상
오디오 중심 앱을 개발하는 개발자
시스템 볼륨 접근이 필요한 앱
다중 플랫폼 오디오 유틸리티
운영체제 간 오디오 동작 테스트
고려 사항
적절한 플랫폼 권한이 필요합니다
운영 체제 간에 동작이 약간 다를 수 있습니다
시스템 볼륨(앱 전용이 아님)으로 제한됨
저수준 오디오 처리에 적합하지 않음
일부 플랫폼에서는 사용자 권한이 필요할 수 있습니다
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
Volume Controller
Control and observe the system volume on Android, iOS, macOS, Windows, and Linux.
Requirements
Flutter >=3.44.0
Dart ^3.12.0
The iOS plugin uses the scene lifecycle APIs introduced for Flutter plugins in Flutter 3.38.
Supported Platforms
Platform
Supported
Android
✅
iOS
✅
macOS
✅
Windows
✅
Linux
✅
Notes
iOS volume control must be tested on a real device. The simulator does not support system volume control.
showSystemUI is supported on Android and iOS only.
Mute is not volume 0 on every platform:
Windows, macOS, Linux: system mute. Volume can stay non-zero while muted.
Android API 23+:STREAM_MUSIC mute (isStreamMute / ADJUST_MUTE).
Android API 21–22: mute sets volume to 0 and unmute restores the previous volume saved by the plugin.
iOS: there is no public system media mute API. isMuted() is volume == 0. setMute(true) sets volume to 0; setMute(false) restores the previous volume saved by the plugin. iOS 26 AVAudioSession.setOutputMuted is not used, because it mutes this app's audio session rather than the system volume.
Variables
ShowSystemUI
Show or hide the volume system UI. The default value is true. Supported on iOS and Android only.