문제

블랙 베리의 샘플 코드를 얻을 수있는 좋은 저장소를 아는 사람이 있습니까? 구체적으로, 오디오 녹음의 메커니즘을 배우는 데 도움이되는 샘플, 아마도 샘플링하고 플라이 신호 처리에서 일부를 수행 할 수도 있습니까?

들어오는 오디오, 필요한 경우 샘플별 샘플을 읽고, 원하는 결과를 얻기 위해 처리하고,이 경우에는 시각화를 작성하고 싶습니다.

도움이 되었습니까?

해결책

림 API에 포함되어 있습니다 JSR 135 Java Mobile Media API 오디오 및 비디오 컨텐츠를 처리합니다.
BB 지식 기반의 혼란에 대해 정확합니다. 유일한 방법은 사이트 맵을 다시 변경하지 않기를 바라면서 찾아 보는 것입니다.
이것의 개발자-> 리소스->지식 기반->Java API 및 샘플->오디오 및 비디오

오디오 녹음

기본적으로 오디오를 녹음하는 것은 간단합니다.

  • 올바른 오디오 인코딩으로 플레이어를 만듭니다
  • RecordControl을 얻으십시오
  • 녹음을 시작하십시오
  • 녹음을 중지하십시오

연결:
RIM 4.6.0 API Ref : 패키지 javax.microedition.media
방법 - BlackBerry 스마트 폰에서 오디오를 녹음하십시오
방법 - 애플리케이션에서 오디오를 재생합니다
방법 - 미디어 애플리케이션 스트리밍 오디오 지원
방법 - 오디오 경로 라우팅을 지정합니다
방법 - 미디어 애플리케이션에서 미디어 재생 시간을 얻습니다.
지원되는 오디오 형식
무엇입니까 - 미디어 응용 프로그램 오류 코드

오디오 레코드 샘플

플레이어가있는 스레드, RecordControl 및 Resources가 선언됩니다.

final class VoiceNotesRecorderThread extends Thread{
   private Player _player;
   private RecordControl _rcontrol;
   private ByteArrayOutputStream _output;
   private byte _data[];

   VoiceNotesRecorderThread() {}

   private int getSize(){
       return (_output != null ? _output.size() : 0);
   }

   private byte[] getVoiceNote(){
      return _data;
   }
}

ordle.run () 오디오 녹음이 시작되었습니다.

   public void run() {
      try {
          // Create a Player that captures live audio.
          _player = Manager.createPlayer("capture://audio");
          _player.realize();    
          // Get the RecordControl, set the record stream,
          _rcontrol = (RecordControl)_player.getControl("RecordControl");    
          //Create a ByteArrayOutputStream to capture the audio stream.
          _output = new ByteArrayOutputStream();
          _rcontrol.setRecordStream(_output);
          _rcontrol.startRecord();
          _player.start();    
      } catch (final Exception e) {
         UiApplication.getUiApplication().invokeAndWait(new Runnable() {
            public void run() {
               Dialog.inform(e.toString());
            }
         });
      }
   }

그리고 thread.stop () 녹음이 중지됩니다.

   public void stop() {
      try {
           //Stop recording, capture data from the OutputStream,
           //close the OutputStream and player.
           _rcontrol.commit();
           _data = _output.toByteArray();
           _output.close();
           _player.close();    
      } catch (Exception e) {
         synchronized (UiApplication.getEventLock()) {
            Dialog.inform(e.toString());
         }
      }
   }

오디오 스트림 처리 및 샘플링

녹음이 끝나면 특정 오디오 형식의 데이터로 채워진 출력 스트림이 있습니다. 따라서 처리하거나 샘플링하려면이 오디오 스트림을 디코딩해야합니다.

비행 처리에 대해 이야기하면 더 복잡 할 것입니다. 레코드를 기록하지 않고 기록하는 동안 출력 스트림을 읽어야합니다. 따라서 해결해야 할 몇 가지 문제가 있습니다.

  • 레코더 및 샘플러 용 출력 스트림에 대한 액세스 동기화 - 스레딩 문제
  • 올바른 양의 오디오 데이터 읽기 - 마크 업 규칙을 찾으려면 오디오 형식 디코딩으로 깊이 들어가십시오.

또한 유용 할 수 있습니다.
Java.net : Vikram Goyal의 Java Me의 스트리밍 컨텐츠 실험

다른 팁

오디오 구체적이지는 않지만이 질문에는 "시작"참조가 있습니다.

BlackBerry 응용 프로그램 작성

나는 이것을 알아 내려고 노력하는 나이를 보냈다. BlackBerry 구성 요소 팩을 설치 한 후에는 사용 가능합니다 그들의 웹 사이트에서), 구성 요소 팩 내에서 샘플 코드를 찾을 수 있습니다.

제 경우에는 구성 요소 팩을 Eclipse에 설치 한 후에는이 위치에서 추출 된 샘플 코드를 발견했습니다.

C : Program Files eclipse eclipse3.4 플러그인 net.rim.eide.componentpack4.5.5.5.16 구성 요소 샘플

불행히도 모든 샘플 코드를 가져 왔을 때 많은 컴파일 오류가있었습니다. 해결 방법으로 컴파일 오류로 패키지의 20%를 삭제했습니다.

다음 문제는 시뮬레이터를 시작하는 것이 항상 첫 번째 샘플 코드 패키지를 시작했다는 것이 었습니다 (내 경우 ActiveTextFieldsdemo)는 내가 관심있는 패키지 만 실행할 수 없었습니다. 내가 원했던 것.

다른 gotchas :
-Eclipse에서 프로젝트를 클릭하고 BlackBerry의 활성화를 선택하십시오.
-Choose BlackBerry-> 구성 구성 ...-> 편집 ... 그리고 새 프로젝트를 선택하여 구축하십시오.
-Eclipse 프로젝트에서 BlackBerry 소스 코드를 "SRC"폴더 아래에 배치하십시오. 그렇지 않으면 빌드 문제에 도달 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top