Domanda

Qualcuno sa di un buon archivio di ottenere un codice di esempio per il BlackBerry?In particolare, i campioni che mi aiuterà a imparare la meccanica di registrazione audio, forse anche di campionamento e di fare alcune al volo di elaborazione del segnale su di esso?

Mi piacerebbe leggere l'audio in entrata, campione, se necessario, poi il processo per produrre un risultato desiderato, in questo caso un visualizzatore.

È stato utile?

Soluzione

RIM API contiene JSR 135 Java Mobile Media API per la gestione di audio e video dei contenuti.
È corretto confusione sul BB Knowledge Base riportato di seguito.L'unico modo è andare, sperando che non sta per cambiare mappa del sito nuovo.
È Gli Sviluppatori->Risorse->Knowledge Base Riportato Di Seguito->Java API&Campioni->Audio&Video

Registrazione Audio

Fondamentalmente è un modo semplice per registrare l'audio:

  • creare Giocatore con la corretta codifica audio
  • ottenere RecordControl
  • avviare la registrazione
  • interrompere la registrazione

Link:
RIM 4.6.0 API rif:Pacchetto javax.microedition.media
Come - Registrare l'Audio su uno smartphone BlackBerry
Come - Riprodurre l'audio in un'applicazione
Come Supporto di streaming audio per l'applicazione media
Come - Specificare Il Percorso Audio Routing
Come - Ottenere la riproduzione di contenuti multimediali in tempo da un'applicazione multimediale
Che cosa È - formati audio Supportati
Che cosa È - Supporti di applicazione dei codici di errore

Registrazione Audio Di Esempio

Filo con il Giocatore, RecordControl e risorse è dichiarato:

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;
   }
}

Sul Thread.run() registrazione audio è iniziato:

   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());
            }
         });
      }
   }

E sul filo.stop() la registrazione viene interrotta:

   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());
         }
      }
   }

Di elaborazione e di campionamento audio stream

Alla fine della registrazione si avrà il flusso in uscita riempita con i dati in formato audio specifico.Quindi, di processo o di esempio si avrà per decodificare questo flusso audio.

Parlando al volo di elaborazione, che sarà più complesso.Si dovrà leggere il flusso in uscita durante la registrazione, senza registrare commettere.Così ci saranno molti problemi da risolvere:

  • sincronizzare l'accesso a flusso di uscita per il Registratore e il Sampler - threading problema
  • leggi la corretta quantità di dati audio - andare in profondità in formato audio decodifica per scoprire regole di markup

Inoltre può essere utile:
java.net:Esperimenti in Streaming di Contenuti in Java MI da Vikram Goyal

Altri suggerimenti

Mentre specifico non audio, questa domanda ha alcuni riferimenti buono "Getting Started".

scrittura Blackberry Applicazioni

Ho trascorso le età cercando di capire questo fuori troppo. Una volta installato il BlackBerry Pack Component (disponibile dal loro sito ), è possibile trovare il codice di esempio all'interno della confezione componente.

Nel mio caso, una volta che avevo installato i pacchetti di componenti in Eclipse, ho trovato il codice di esempio estratta in questa posizione:

  

C: \ Program   Files \ Eclipse \ eclipse3.4 \ plugins \ net.rim.eide.componentpack4.5.0_4.5.0.16 \ Components \ campioni

Purtroppo quando ho importato tutto ciò che il codice di esempio ho avuto un sacco di errori di compilazione. Per risolvere che ho appena cancellato il 20% di pacchetti con errori di compilazione.

Il mio prossimo problema era che il lancio del simulatore sempre lanciato il primo pacchetto di codice di esempio (nel mio caso activetextfieldsdemo), non ho potuto farlo funzionare solo il pacchetto Sono interessato a. Soluzione per che è stato quello di eliminare tutti i pacchetti in ordine alfabetico prima di quella che volevo.

Altri trucchi:
-Proprio clicca sul progetto in Eclipse e selezionare Attiva per
BlackBerry -Scegli BlackBerry -> Crea Configurazioni ... -> Modifica ... e selezionare il nuovo progetto in modo che costruisce
. -Assicurarsi si mette il codice sorgente BlackBerry in una cartella "src" nel progetto Eclipse, altrimenti si potrebbe colpire costruire problemi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top