2011-01-09 4 views
4

AudioTrack 개체에 쓰는 PCM 디코더를 구현했습니다.AudioTrack 스트림의 알림 메시지

모든 것이 멋지지만 마지막 작성된 청크가 재생을 중단했을 때 AudioTrack 개체에서 알림을 받아야합니다.

그러나 setNotificationMarkerPosition,과 같은 콜백 메소드가 있다는 것을 알고 있었지만 사용법에 대한 광범위한 문서를 찾을 수 없었습니다.

미리 감사드립니다.

+0

안녕하세요 chaoz, 어떻게 PCM 디코더를 구현 했나요? 나는 오디오를 해독 할 PCM 디코더를 찾고 있는데, 어떤 도움이 나에게 유용 할 것이다. –

답변

2

AudioTrack 콜백을 받으려면 마커 콜백을 설정하거나 주기적 콜백을 사용할 수 있습니다. 마커에 대한 문제에 대한 보고서를 보았으므로 두 가지를 모두 시도해 볼 수 있습니다.

마커 콜백의 경우 먼저 전화 할 프레임 번호가있는 setNotificationMarkerPosition으로 전화하십시오.

주기적 콜백의 경우 setPositionNotificationPeriod을 호출하면 x 프레임이 호출됩니다.

어느 쪽이든, setPlaybackPositionUpdateListener으로 전화하여 콜백을 등록해야합니다. 마커에 도달하면 onMarkerReached의 두 가지 메소드를 호출하거나 설정된 프레임 수마다 onPeriodicNotification을 호출합니다. 둘 중 하나를 사용하거나 다른 하나를 사용하도록 선택할 수 있습니다. 두 콜백 모두 설정 한 AudioTrack의 인스턴스를 참조합니다.

기본적으로 인스턴스는 AudioTrack 인스턴스가 만들어진 동일한 스레드에서 다시 호출합니다. 또는 다른 스레드로 보내기 위해 콜백을 등록 할 때 처리기를 전달할 수 있습니다.