2014-04-09 2 views
0

데이터베이스에서 wav 파일을 재생하려고합니다. PHP 파일로 blob 파일을 다시 만듭니다. 우리의 DataInputStream와 inputStream을 교체하는 경우 이 코드는 동영상 파일과 함께 작동 :데이터베이스에서 음악 파일 J2m을 재생하는 방법은 무엇입니까?

공공 무효 playAudio() {

try { 
     ContentConnection connection = (ContentConnection)Connector.open("http://localhost/P/getXmlMusic.php"); 
     InputStream iStrm = connection.openInputStream();   

     player = Manager.createPlayer(iStrm,"audio/x-wav"); 
     player.addPlayerListener(this); 
     player.setLoopCount(4); 
     player.prefetch(); 
     player.realize(); 
     player.start(); 
    } catch (Exception e) { 
     System.out.println(e.getMessage()); 
    } 
} 

오류 : 잘못된 웨이브 미디어 : 플레이어를 실현하지 못했습니다 예상 'RIFF'

NB : 같은 파일을 로컬로 재생할 수 있습니다. 파일은 오케이입니다.

+0

PHP 파일에'header()'를 추가했는지 기억 했습니까? –

답변

0

유효한 WAV 파일 should be started with "RIFF" string.

예상 'RIFF'은 RIFF 문자열이 WAV 파일의 시작 부분에 없다는 것을 의미합니다. 그래서 서버에서 검색된 스트림이 유효한 WAV 파일이 아닌 것 같습니다.

기기의 (로컬) 원본 WAV 파일을 재생 해보는 것이 좋습니다. FileConnection API를 사용하여 WAV에 액세스하기위한 코드를 약간 변경하거나, jar 파일에 직접 포함시킨 다음 getResourceAsStream을 사용하여 읽을 수 있습니다.

동일한 오류가 계속 발생하면 WAV 파일이 잘못되었거나 표준이 아니므로 장치 내의 Java API에서 재생할 수 없습니다.

오류가 사라지면 실수는 서버 측 코드에 있습니다. 모든 작업을 올바르게 수행했는지 확인하십시오. wav 파일로 데이터베이스 작성, 데이터베이스에서 BLOB 읽기 및 클라이언트로 전달.