귀하는 손님 이십니다
로그인
회원가입
  
  델마당 공식 은행계좌
  하나은행 227-910235-83607
  예금주 이상국(운영진)
프로젝트 게시판
투표게시판
델마당소개
기초부터 활용까지! 델파이 교육 - 데브기어
 광고문의 :
lazarus lazarus 입니다.
글내용 - lazarus
 lazarus linux에서 wav파일 플레이하기
상어밥
(이정한)
2015-12-26 오후 6:11:04
1644회 조회


등록된 파일이 없습니다.
linux에서 프로그램을 하다보니 헤메기 일쑤 이네요
혹시 저처럼 헤메는분이 안생기도록 리눅스에서 간단히 wav파일을 플레이 하는 funtion을
공유 합니다 ^^

자료출처 : http://forum.lazarus.freepascal.org/index.php?topic=5215.0


uses Process 추가하시고

function PlaySoundLnx(fileName: String): Boolean; //wav sound play function
const
  playerCmd = 'paplay';  // pulseaudio client
var
  AProcess: TProcess;
begin
  AProcess := TProcess.Create(nil);
  with Aprocess do begin
    CommandLine := FindDefaultExecutablePath(playerCmd) +
      ' ' + filename;
   // Options := Options + [poWaitOnExit];  //이 옵션은 ASync , Sync 선택 
    try
      try
        Execute;
      except
        on E: Exception do
          ShowMessage(E.ClassName +
            ' error raised, with message : ' + E.Message);
      end;
    finally
      Free;
    end;
  end;
end;             

procedure TMain_Form.Button1Click(Sender: TObject);
var
 AppDir: String;
begin
  AppDir := ExtractFilePath(Application.ExeName);
  PlaySoundLnx(AppDir + 'audio/2.wav');
end;