크기가 65536 바이트 인 버퍼를 통해 오디오를 스트리밍하려고합니다.Java System.arraycopy 배열 범위가
내 오디오 데이터를 System.arraycopy()
으로 버퍼에 복사하고 나머지 오디오 데이터가 65536보다 작은 경우 어떻게됩니까? 오류가 발생하거나 버퍼에 남아있는 바이트를 오류없이 복사합니까? 지금은 내 코드입니다
:
int offset = 0;
while(isAudioActive)
{
byte[] buffer = new byte[65536];
System.arraycopy(this.currentFile.getSampledata().getData(), 65536 * offset, buffer, 65536 * offset, 65536);
//<<writing Audio to track here>>
offset++;
}
그래서 작은 조각의 버퍼 시스템에 복사 오디오 데이터를. 나중에 음악을 일시 중지/중단하고 싶기 때문에 작은 조각을 사용하고 있습니다.
실행 해 보셨습니까? –
설명서를 읽으시겠습니까? –
아마, getData() (예제에서)는 오디오 데이터의 바이트 중 * all *에 대한 액세스 권한을 제공합니까? 그렇다면 무엇 때문에 왜 버퍼링해야합니까? (현재 'currentFile'이 무엇인지 알면 도움이됩니다.) – Paul