Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

audioplayer

오디오 재생을 위한 객체

설명

audioplayer 객체를 사용하여 오디오 데이터를 재생합니다. 이 객체는 재생 중에 추가적인 유연성을 제공하는 속성을 포함합니다. 예를 들어, audioplayer 객체 함수를 사용하여 재생을 일시 중지하거나, 재개하거나, 콜백을 정의할 수 있습니다.

생성

설명

예제

player = audioplayer(Y,Fs)는 샘플 레이트 Fs를 사용하여 신호 Y에 대해 audioplayer 객체를 생성합니다. 이 함수는 오디오 플레이어 객체 player를 반환합니다.

예제

player = audioplayer(Y,Fs,nBits)는 신호 Y에 대해 nBits의 샘플당 비트 수를 사용합니다.

예제

player = audioplayer(Y,Fs,nBits,ID)ID로 식별된 오디오 장치를 출력값으로 사용합니다.

예제

player = audioplayer(recorder)는 오디오 레코더 객체 recorder를 사용하여 audioplayer 객체를 생성합니다.

예제

player = audioplayer(recorder,ID)ID로 식별된 오디오 장치를 출력값으로 사용하는 recorder에서 객체를 만듭니다.

입력 인수

모두 확장

오디오 신호로, 숫자형 데이터로 구성된 벡터 또는 2차원 배열로 지정됩니다.

입력 샘플의 값 범위는 데이터형에 따라 달라집니다.

데이터형

샘플 값 범위

int8

-128~127

uint8

0~255

int16

-32768~32767

single

-1~1

double

-1~1

데이터형: single | double | int8 | int16 | uint8

샘플링 주파수(단위: 헤르츠)로, 숫자형 스칼라로 지정됩니다.

샘플링 레이트의 유효한 값은 MATLAB®에서 허용하는 샘플 레이트와 시스템에 설치된 오디오 하드웨어에 따라 다릅니다. MATLAB은 1000Hz <= Fs <= 384000Hz라는 엄격한 제한을 적용하며, 하드웨어에 따라 추가적인 제한이 적용될 수 있습니다. 대부분의 사운드 카드에서 일반적으로 지원되는 값은 8000Hz, 11025Hz, 22050Hz, 44100Hz, 48000Hz, 96000Hz입니다.

데이터형: single | double

샘플당 비트 수로, 8, 16 또는 24로 지정됩니다.

신호 Y가 부동소수점 값을 포함하는 경우에만 nBits를 지정하십시오. nBits의 유효한 값은 오디오 하드웨어에 따라 다릅니다. 예를 들어, 사용 중인 오디오 하드웨어에 따라 nBits는 값 8, 16, 24 중 하나일 수 있습니다.

장치 식별자로, 정수로 지정됩니다.

장치의 ID를 가져오려면 audiodevinfo 함수를 사용합니다.

오디오 레코더 객체로, audiorecorder 객체로 지정됩니다. audiorecorder 함수를 사용하여 이 객체를 생성합니다.

속성

모두 확장

이 속성은 읽기 전용입니다.

샘플당 비트 수로, 양의 정수로 반환됩니다.

이 속성은 읽기 전용입니다.

오디오 출력 장치에서 현재 재생 중인 샘플로, 양의 정수로 반환됩니다.

장치에서 재생 중인 샘플이 없는 경우 play 또는 resume 메서드를 사용하여 재생되는 다음 샘플이 CurrentSample이 됩니다.

이 속성은 읽기 전용입니다.

오디오 장치 식별자로, 정수로 반환됩니다.

이 속성은 읽기 전용입니다.

오디오 채널 개수로, 1 또는 2로 반환됩니다.

이 속성은 읽기 전용입니다.

오디오 플레이어 상태로, on 또는 off로 반환됩니다.

샘플링 주파수(단위: 헤르츠)로, 숫자형 스칼라로 반환됩니다.

SampleRate를 설정하려면 audioplayer 객체를 생성할 때 Fs 입력 인수를 사용하십시오.

이 속성은 읽기 전용입니다.

샘플에 포함된 오디오 데이터의 총 길이로, 정수로 반환됩니다.

레이블로, 문자형 벡터로 지정됩니다.

이 속성은 읽기 전용입니다.

객체 클래스 이름으로, 'audioplayer'로 반환됩니다.

사용자 정의 데이터로, 임의의 데이터형 값으로 지정됩니다. 이 속성을 사용하여 객체와 함께 추가 데이터를 저장합니다.

재생 시작 시 실행할 함수로, 함수의 이름을 포함하는 문자형 벡터나 string형 스칼라 또는 함수 핸들로 지정됩니다.

콜백 함수에 대한 처음 2개 입력값은 audioplayer 객체와 event 구조체여야 합니다. 자세한 내용은 콜백 함수를 참조하십시오.

재생 종료 시 실행할 함수로, 함수의 이름을 포함하는 문자형 벡터나 string형 스칼라 또는 함수 핸들로 지정됩니다.

콜백 함수에 대한 처음 2개 입력값은 audioplayer 객체와 event 구조체여야 합니다. 자세한 내용은 콜백 함수를 참조하십시오.

재생 중에 반복 실행할 함수로, 함수의 이름을 포함하는 문자형 벡터나 string형 스칼라 또는 함수 핸들로 지정됩니다. 반복 구간을 지정하려면 TimerPeriod 속성을 사용하십시오.

콜백 함수에 대한 처음 2개 입력값은 audioplayer 객체와 event 구조체여야 합니다. 자세한 내용은 콜백 함수를 참조하십시오.

타이머 시간으로, 숫자형 스칼라로 지정됩니다.

타이머 시간은 TimerFcn 콜백 사이의 시간(단위: 초)입니다.

객체 함수

getaudioplayer 객체의 속성값 쿼리
isplayingDetermine if playback is in progress
pausePause playback or recording
playPlay audio from audioplayer object
playblockingPlay audio from audioplayer object, hold control until playback completes
resume Resume playback or recording from paused state
setSet property values for audioplayer object
stopStop playback or recording

예제

모두 축소

샘플 오디오 파일을 불러와 재생합니다.

handel.mat를 작업 공간으로 불러옵니다. 이 파일에는 샘플 오디오 데이터 배열 y와 샘플링 레이트 Fs가 포함되어 있습니다.

load('handel.mat')
whos y Fs
  Name          Size             Bytes  Class     Attributes

  Fs            1x1                  8  double              
  y         73113x1             584904  double              

파일을 재생할 audioplayer 객체를 만듭니다.

player = audioplayer(y,Fs);

디폴트 오디오 장치에서 오디오 객체를 재생합니다.

play(player);

마이크에서 오디오 데이터를 녹음한 다음 녹음된 오디오를 재생합니다.

디폴트 속성값을 사용하여 audiorecorder 객체를 만듭니다.

recObj = audiorecorder;

마이크를 사용하여 5초 분량의 음성 샘플을 녹음합니다.

disp('Start speaking.')
Start speaking.
recordblocking(recObj,5);
disp('End of Recording.');
End of Recording.

녹음에서 오디오 플레이어 객체를 만든 다음 녹음된 샘플을 재생합니다.

playerObj = audioplayer(recObj);
play(playerObj);

제한 사항

  • MATLAB Online™에서 audioplayer를 사용할 때 다음 제한 사항이 적용됩니다.

    • recorder 객체에서 audioplayer 객체를 만들 수 없습니다.

    • 기존 audioplayer 객체의 샘플 레이트를 변경할 수 없습니다.

    • audioplayer 함수는 nBits를 무시합니다. 대신 출력 오디오 장치의 디폴트 샘플당 비트 수를 사용하여 오디오 데이터를 재생합니다.

세부 정보

모두 확장

  • Google Chrome™에서 MATLAB Online의 오디오 재생이 지원됩니다.

R2006a 이전에 개발됨