2009-09-23 11 views
7

MP3 형식의 오디오를 온라인으로 받았는데 J2ME 응용 프로그램에서 오디오를 스트리밍하려면 어떻게해야합니까? 웹 사이트는 재생할 오디오 목록을 앱에 제공하고 오디오를 선택하면 웹 사이트에서 스트리밍해야합니다.J2ME를 사용하여 오디오 스트리밍

샘플 코드가 좋을 것입니다. 덕분에

답변

2

J2ME은 HTTP를 통해 이것을 허용하지 않습니다. 그것은 재생을 시작하기 전에 전체 오디오를 다운로드합니다. 필요한 것은 대신 RTP 서버에서 호스팅하는 것입니다. 그런 다음 J2ME은 오디오를 스트리밍합니다.

그게 좋지 않다면, 이런 종류의 독점 라이브러리가있는 장치를 찾지 못할 수도 있습니다.

3

휴대 전화 제조업체가 JSR-135 (MIDlet에서 오디오를 재생할 API를 제공하는 사양)을 구현하는 방법을 제어하지 않기 때문에 MIDlet에서 오디오 데이터를 스트리밍 할 수있는 확실한 방법이 없습니다.

기술적으로 javax.microedition.media.Manager.createPlayer(String aUrl)을 사용하여 Java 미디어 플레이어를 만들면 JSR-135 구현이 URL에있는 오디오 데이터를 스트리밍해야합니다.

불행히도 매우 간단한 오디오 콘텐츠 (mp3보다 자주 wav)가 스트리밍되는 경우는 일반적으로 네트워크 연결을 통해 지원되며 더 자주는 createPlayer(String aUrl)을 호출하면 url이 예외를 발생시킵니다

제조업체가 JSR-135 구현에 더 완벽한 오디오/네트워킹 모듈을 연결할 수있는 장치가 있을지도 모르지만 이러한 오디오/네트워킹 모듈을 찾으려면 많은 테스트가 필요합니다.

2

이렇게하는 더 좋은 방법이 있습니다. 확장 클래스 인 InputStream을 직접 만드십시오. 라고 말하면MyHTTPInputStream입니다. 모든 방법을 구현하십시오. HTTP에서 데이터를 검색하고 버퍼에 저장하는 스레드를 실행하면 Player 클래스가 InputStream.read() 메서드를 호출 할 때 버퍼에서 데이터를 제공합니다.

Player에이 클래스를 구현하기 전에 전화 메모리 또는 추가 기능 카드에 저장된 더미 WAV 파일을 사용하여 MyHTTPInputStream을 테스트하십시오. 따라서 어떤 메소드가 InputStream에서 호출되는지 알 수 있으며 클래스 Player에 의한 메소드 호출의 순서를 알 수 있습니다.