2015-02-04 12 views
7

C'è un modo per registrare l'audio su Android Wear? Ho usato API AudioRecord e si blocca l'applicazione.Come registrare audio su Android Wear

Sto facendo qualcosa di sbagliato?

 short[] audioData = new short[minBufferSize]; 

     AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, 
       11025, 
       AudioFormat.CHANNEL_CONFIGURATION_MONO, 
       AudioFormat.ENCODING_PCM_16BIT, 
       minBufferSize); 

     audioRecord.startRecording(); 

     while(recording){ 
      int numberOfShort = audioRecord.read(audioData, 0, minBufferSize); 
      for(int i = 0; i < numberOfShort; i++){ 
       dataOutputStream.writeShort(audioData[i]); 
      } 
     } 

     audioRecord.stop(); 
+0

"Arresta l'applicazione" - utilizzare LogCat per esaminare la traccia dello stack Java associata all'arresto anomalo: https://stackoverflow.com/questions/23353173/unfortunately-myapp-has-stopped-how-can-i- solve-this – CommonsWare

+0

Sfortunatamente il LogCat non mostra alcun errore, l'applicazione si blocca senza alcun messaggio di errore. Non sono sicuro che l'usura Android supporti il ​​registratore audio, voglio sapere se qualcuno ha funzionato. –

+0

Provato alcuni mesi fa, ho avuto un problema con la codifica che ha impedito l'avvio del registratore multimediale. Non l'ho provato di nuovo da allora, ma forse se provassi a liberarti della codifica potrebbe funzionare, come qualcuno mi ha suggerito in quel momento. – Snow

risposta

6

AudioRecord è supportato e funziona su Android Wear. Se si sta eseguendo il test su un emulatore non è possibile supportare la frequenza di campionamento fornita, 11025, provarne un'altra come 8000.

Dopo aver creato AudioRecord, è necessario verificare lo stato per confermare che l'inizializzazione è avvenuta correttamente prima di provare a registrare.

audioRecord.getState() == AudioRecord.STATE_INITIALIZED 

Assicurarsi inoltre di disporre delle autorizzazioni corrette nel manifest. Avrai bisogno di android.permission.RECORD_AUDIO come minimo e anche di permessi per la posizione in cui stai scrivendo il file.

+2

Ho dimenticato di mettere le autorizzazioni audio in manifest. Ora funziona, grazie. –

+0

Come si può accedere all'audio registrato? – Amir