|
MP3를 자체적으로 분석하는게 가장 확실한 방법이겠지만, 그냥 꽁수로 아래의 방법도 괜찮을것 같네요.
1. 좀 쓸만한 MP3 Component 를 받는다
2. Winamp에서 소리날때 나오는 채널 막대 바 (오디오에 봐도 있죠..?) 의 수치를 각각 얻을 수 있는데, 이것이 모두 0에 붙어있으면, 소리가 나지 않는다는 거겠죠. 만약 이런 상태면 한문장이 끝난것으로 인식
3. 루프
이런식으로 처리하면 좀 더 쉽게 처리될것 같네요.
김진수 님이 쓰신 글 :
: 문장과 문장 사이를 구분하기 위해서 소리의 유무로 체크해야 할것 같은데
: 방법이 있나요.
:
:
: 유영인 [Chris] 님이 쓰신 글 :
: : 빌더에서 자체적으로 내장하고 있는 MediaPlayer는 MP3 파일 지원이 되지 않습니다. 보통, DivX나 기타 여러가지 멀티미디어를 돌릴때는, 물론 여러가지 종류가 많겠지만, 저는 WindowsMediaPlayer을 사용합니다.
: :
: : 자료실에 WindowsMediaPlayer OCX를 설치하시면,
: :
: : Duration : 해당 멀티미디어 파일의 전체 재생 시간.
: : 정수 부분은 초, 실수 부분은 1/1000초에 해당하는 값입니다.
: : CurrentPosition : 지금 재생하고 있는 부분의 시점.
: : 정수 부분은 초, 실수 부분은 1/1000초에 해당하는 값입니다.
: :
: :
: : Play() : 해당 멀티미디어 파일을 플레이 시킴
: : Pause() : 해당 멀티미디어 파일의 재생을 잠시 멈춤
: : Stop() : 해당 멀티미디어 파일의 재생을 중지
: :
: :
: : 예를 들어,
: :
: : MediaPlayer->Play();
: :
: : // 구간 반복 시작
: : MediaPlayer->CurrentPosition = 10; // 시작 시점
: :
: : while(true) {
: : if(MediaPlayer->CurrentPosition > 20)
: : MediaPlayer->CurrentPosition = 10;
: : }
: :
: : 위 예제는 10초에서 20초 까지의 부분을 계속 돌리는 예제입니다. 시간을 체크하는 부분을 while보다 이벤트나 Timer에 넣어주시는 것이 좀 더 성능이 좋아지겠네요. --;
: :
: : 이렇게, CurrentPosition 만 이리저리 바꾸어 준다면 구간 반복도 가능하겠죠. MP3만을 재생하기 원하신다면 다른 컴포넌트도 좋은게 많으니 한번 찾아보시는 것이 좋으실 것 같네요.
: :
: :
: : 김진수 님이 쓰신 글 :
: : : 어학 mp3 파일을 가지고 구간 반복 기능을 넣고 싶은데 가능한지?
: : : 혹은 가능한 방법이 있다면 나아갈 길을 밝혀 주세요 부탁드립니다.
: : :
: : : 그럼 좋은 하루 되세요
|