패키지, 저장소 및 앱 카테고리 검색

패키지 상세v3.7.1

volume_controller

다중 플랫폼용 Flutter 볼륨 플러그인으로 시스템 볼륨을 제어합니다.

AndroidiOSmacOSWindowsLinux
30일 다운로드
18.7만
좋아요
132
Pub 점수
160

패키지 설치

flutter pub add volume_controller

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

volume_controller 패키지는 Android, iOS, macOS, Windows, Linux에서 시스템 볼륨을 제어할 수 있는 크로스 플랫폼 플러터 플러그인입니다. 음량 조절, 음소거, 음량 수준 쿼리 등을 위한 간단한 API를 제공하여 미디어 앱, 오디오 도구 또는 시스템 레벨 오디오 제어가 필요한 모든 애플리케이션에 적합합니다. 플러그인은 플랫폼별 구현을 추상화하여 다양한 기기에서 일관된 동작을 보장합니다. 스트림 기반의 볼륨 모니터링과 직접적인 볼륨 조작을 모두 지원합니다. 통합의 용이성을 고려해 설계되어 기존 플러터 프로젝트와 원활하게 작동합니다.

사용 사례

  • 미디어 플레이어 볼륨 조절
  • 오디오 앱 시스템 통합
  • 접근성 도구
  • 오디오 기능의 자동 테스트
  • 시스템 전체 볼륨 조정

주요 기능

  • 크로스 플랫폼 지원 (Android, iOS, macOS, Windows, Linux)
  • 볼륨 조정 및 음소거
  • 스트림을 통한 실시간 볼륨 모니터링
  • 간단하고 일관된 API
  • 네이티브 볼륨 컨트롤을 위한 플랫폼 추상화

적합한 대상

  • 오디오 중심 앱을 개발하는 개발자
  • 시스템 볼륨 접근이 필요한 앱
  • 다중 플랫폼 오디오 유틸리티
  • 운영체제 간 오디오 동작 테스트

고려 사항

  • 적절한 플랫폼 권한이 필요합니다
  • 운영 체제 간에 동작이 약간 다를 수 있습니다
  • 시스템 볼륨(앱 전용이 아님)으로 제한됨
  • 저수준 오디오 처리에 적합하지 않음
  • 일부 플랫폼에서는 사용자 권한이 필요할 수 있습니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Volume Controller

pub package license

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.

VolumeController.instance.showSystemUI = true;

Functions

GetVolume

Get the current system volume.

double volume = await VolumeController.instance.getVolume();
SetVolume

Set the system volume. The input should be in the range 0.0 to 1.0.

await VolumeController.instance.setVolume(double volume);
AddListener

Add a listener to monitor system volume changes.

  • fetchInitialVolume: Send the current volume immediately. Defaults to true.
VolumeController.instance.addListener((volume) {
  // Do something with the volume
}, fetchInitialVolume: true);
RemoveListener

Remove the volume listener.

await VolumeController.instance.removeListener();
IsMuted

Check whether the system is muted.

bool isMuted = await VolumeController.instance.isMuted();
SetMute

Mute or unmute the system volume.

await VolumeController.instance.setMute(bool mute);

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트