본문 바로가기

카테고리 없음

[FMX] iOS 시스템 볼륨 제어하기

엠바카데로 블로그에 HARUYUKI MOHRI가 작성한 C++빌더로 iOS 시스템 볼륨 제어하는 내용이 있어 델파이로 작업해 봤습니다.


원글 : https://community.embarcadero.com/blogs/entry/how-to-control-the-system-audio-volume-of-ios?utm_source=Facebook_Organic&utm_medium=social


아래와 같이 Up/Down 버튼을 누르면 시스템 볼륨을 제어합니다.




MPVolumeView 클래스(iOSapi.MediaPlayer.pas)와 UISlider 클래스(iOSapi.UIKit.pas)를 사용했습니다.


uses 절에 "iOSapi.MediaPlayer, iOSapi.UIKit" 추가해야 합니다.


다음 2개 변수를 선언해야 합니다.

  private
    { Private declarations }
    FMPVolumeView: MPVolumeView;
    FSlider: UISlider;

구현된 델파이 코드는 아래와 같습니다.

procedure TForm1.FormCreate(Sender: TObject);
var
  I, J: Integer;
begin
  FMPVolumeView := TMPVolumeView.Create;

  I := 0;
  J := FMPVolumeView.subviews.count;

  if I = J then
  begin
    log.d('');
  end;

  if FMPVolumeView.subviews.count > 0 then
  begin
    FSlider := TUISlider.Wrap(FMPVolumeView.subviews.objectAtIndex(0));
    FSlider.setValue(0.0);
  end;
end;

procedure TForm1.btnVolumeUpClick(Sender: TObject);
var
  Vol: Single;
begin
  Vol := FSlider.value;
  FSlider.setValue(Vol + 0.1);
end;

procedure TForm1.btnVolumeDownClick(Sender: TObject);
var
  Vol: Single;
begin
  Vol := FSlider.value;
  FSlider.setValue(Vol - 0.1);
end;


샘플 프로젝트

iOSVolumeControl.zip


참고 링크